{
 "cells": [
  {
   "cell_type": "code",
   "id": "initial_id",
   "metadata": {
    "collapsed": true,
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:03.600987Z",
     "start_time": "2024-09-18T11:08:03.596684Z"
    }
   },
   "source": [
    "import os \n",
    "os.getcwd()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'D:\\\\kaifaruanjian\\\\pyCharm\\\\pythonProobject\\\\shixunone\\\\longdan\\\\com\\\\bw\\\\shixun\\\\tianmao'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 1
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:03.608840Z",
     "start_time": "2024-09-18T11:08:03.601986Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from collections import Counter\n",
    "from datetime import datetime\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from scipy import stats\n",
    "import gc\n",
    "import warnings\n",
    "\n",
    "\n",
    "from pylab import mpl\n",
    "# 设置显示中文字体\n",
    "mpl.rcParams[\"font.sans-serif\"] = [\"SimHei\"]\n",
    "\n",
    "# 设置正常显示符号\n",
    "mpl.rcParams[\"axes.unicode_minus\"] = False\n",
    "warnings.filterwarnings('ignore')"
   ],
   "id": "edbe78f59ca4fb9c",
   "outputs": [],
   "execution_count": 2
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:20.396394Z",
     "start_time": "2024-09-18T11:08:03.609839Z"
    }
   },
   "cell_type": "code",
   "source": [
    "test_data = pd.read_csv('../../../../data_format1/test_format1.csv')\n",
    "train_data = pd.read_csv('../../../../data_format1/train_format1.csv')\n",
    "\n",
    "user_info = pd.read_csv('../../../../data_format1/user_info_format1.csv')\n",
    "user_log = pd.read_csv('../../../../data_format1/user_log_format1.csv')"
   ],
   "id": "d5729d6ca9effa39",
   "outputs": [],
   "execution_count": 3
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:20.409247Z",
     "start_time": "2024-09-18T11:08:20.398390Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# reduce memory\n",
    "def reduce_mem_usage(df, verbose=True):\n",
    "    start_mem = df.memory_usage().sum() / 1024**2\n",
    "    numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']\n",
    "\n",
    "    for col in df.columns:\n",
    "        col_type = df[col].dtypes\n",
    "        if col_type in numerics:\n",
    "            c_min = df[col].min()\n",
    "            c_max = df[col].max()\n",
    "            if str(col_type)[:3] == 'int':\n",
    "                if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max:\n",
    "                    df[col] = df[col].astype(np.int8)\n",
    "                elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max:\n",
    "                    df[col] = df[col].astype(np.int16)\n",
    "                elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max:\n",
    "                    df[col] = df[col].astype(np.int32)\n",
    "                elif c_min > np.iinfo(np.int64).min and c_max < np.iinfo(np.int64).max:\n",
    "                    df[col] = df[col].astype(np.int64)\n",
    "            else:\n",
    "                if c_min > np.finfo(np.float16).min and c_max < np.finfo(np.float16).max:\n",
    "                    df[col] = df[col].astype(np.float16)\n",
    "                elif c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max:\n",
    "                    df[col] = df[col].astype(np.float32)\n",
    "                else:\n",
    "                    df[col] = df[col].astype(np.float64)\n",
    "               \n",
    "    end_mem = df.memory_usage().sum() / 1024**2\n",
    "    print('Memory usage after optimization is: {:.2f} MB'.format(end_mem))\n",
    "    print('Decreased by {:.1f}%'.format(100 * (start_mem - end_mem) / start_mem))\n",
    "    return df"
   ],
   "id": "2899df7640599e3d",
   "outputs": [],
   "execution_count": 4
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.354362Z",
     "start_time": "2024-09-18T11:08:20.410246Z"
    }
   },
   "cell_type": "code",
   "source": [
    "train_data = reduce_mem_usage(train_data)\n",
    "test_data = reduce_mem_usage(test_data)\n",
    "\n",
    "user_info = reduce_mem_usage(user_info)\n",
    "user_log = reduce_mem_usage(user_log)"
   ],
   "id": "4f767f319df5dcd2",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Memory usage after optimization is: 1.74 MB\n",
      "Decreased by 70.8%\n",
      "Memory usage after optimization is: 3.49 MB\n",
      "Decreased by 41.7%\n",
      "Memory usage after optimization is: 3.24 MB\n",
      "Decreased by 66.7%\n",
      "Memory usage after optimization is: 890.48 MB\n",
      "Decreased by 69.6%\n"
     ]
    }
   ],
   "execution_count": 5
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.364722Z",
     "start_time": "2024-09-18T11:08:23.355361Z"
    }
   },
   "cell_type": "code",
   "source": "train_data.head()",
   "id": "293af6cca706f847",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label\n",
       "0    34176         3906      0\n",
       "1    34176          121      0\n",
       "2    34176         4356      1\n",
       "3    34176         2217      0\n",
       "4   230784         4818      0"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 6
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.371106Z",
     "start_time": "2024-09-18T11:08:23.365724Z"
    }
   },
   "cell_type": "code",
   "source": "test_data.head()",
   "id": "e97818f4527e89e7",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  prob\n",
       "0   163968         4605   NaN\n",
       "1   360576         1581   NaN\n",
       "2    98688         1964   NaN\n",
       "3    98688         3645   NaN\n",
       "4   295296         3361   NaN"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>prob</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>163968</td>\n",
       "      <td>4605</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>360576</td>\n",
       "      <td>1581</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>98688</td>\n",
       "      <td>1964</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>98688</td>\n",
       "      <td>3645</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>295296</td>\n",
       "      <td>3361</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 7
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.377913Z",
     "start_time": "2024-09-18T11:08:23.372104Z"
    }
   },
   "cell_type": "code",
   "source": "user_info.head()",
   "id": "4db887d6b7468df9",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  age_range  gender\n",
       "0   376517        6.0     1.0\n",
       "1   234512        5.0     0.0\n",
       "2   344532        5.0     0.0\n",
       "3   186135        5.0     0.0\n",
       "4    30230        5.0     0.0"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>376517</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>234512</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>344532</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>186135</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>30230</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 8
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.385177Z",
     "start_time": "2024-09-18T11:08:23.378912Z"
    }
   },
   "cell_type": "code",
   "source": "user_log.head()",
   "id": "64951000ca889e27",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  item_id  cat_id  seller_id  brand_id  time_stamp  action_type\n",
       "0   328862   323294     833       2882    2660.0         829            0\n",
       "1   328862   844400    1271       2882    2660.0         829            0\n",
       "2   328862   575153    1271       2882    2660.0         829            0\n",
       "3   328862   996875    1271       2882    2660.0         829            0\n",
       "4   328862  1086186    1271       1253    1049.0         829            0"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>cat_id</th>\n",
       "      <th>seller_id</th>\n",
       "      <th>brand_id</th>\n",
       "      <th>time_stamp</th>\n",
       "      <th>action_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>328862</td>\n",
       "      <td>323294</td>\n",
       "      <td>833</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>328862</td>\n",
       "      <td>844400</td>\n",
       "      <td>1271</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>328862</td>\n",
       "      <td>575153</td>\n",
       "      <td>1271</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>328862</td>\n",
       "      <td>996875</td>\n",
       "      <td>1271</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>328862</td>\n",
       "      <td>1086186</td>\n",
       "      <td>1271</td>\n",
       "      <td>1253</td>\n",
       "      <td>1049.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 9
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "缺失值查看",
   "id": "5d98589ad57217d1"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.394810Z",
     "start_time": "2024-09-18T11:08:23.386155Z"
    }
   },
   "cell_type": "code",
   "source": "train_data.isna().sum()",
   "id": "46865225dc4143b0",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id        0\n",
       "merchant_id    0\n",
       "label          0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 10
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.401226Z",
     "start_time": "2024-09-18T11:08:23.395790Z"
    }
   },
   "cell_type": "code",
   "source": "test_data.isna().sum()",
   "id": "f3654f824818c08a",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id             0\n",
       "merchant_id         0\n",
       "prob           261477\n",
       "dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 11
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.409119Z",
     "start_time": "2024-09-18T11:08:23.402225Z"
    }
   },
   "cell_type": "code",
   "source": "user_info.isna().sum()/user_info.shape[0]",
   "id": "a66a515988c3aa5c",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id      0.000000\n",
       "age_range    0.005227\n",
       "gender       0.015173\n",
       "dtype: float64"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 12
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.819507Z",
     "start_time": "2024-09-18T11:08:23.409119Z"
    }
   },
   "cell_type": "code",
   "source": "user_log.isna().sum()/user_log.shape[0]",
   "id": "2067791f770d157f",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id        0.000000\n",
       "item_id        0.000000\n",
       "cat_id         0.000000\n",
       "seller_id      0.000000\n",
       "brand_id       0.001657\n",
       "time_stamp     0.000000\n",
       "action_type    0.000000\n",
       "dtype: float64"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 13
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "重复值查看",
   "id": "db291532d3feb925"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.847439Z",
     "start_time": "2024-09-18T11:08:23.822499Z"
    }
   },
   "cell_type": "code",
   "source": "train_data.duplicated().sum()",
   "id": "b2e259ba0db11acf",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 14
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.871935Z",
     "start_time": "2024-09-18T11:08:23.848437Z"
    }
   },
   "cell_type": "code",
   "source": "test_data.duplicated().sum()",
   "id": "3f7b86591ecbde38",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 15
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:23.918755Z",
     "start_time": "2024-09-18T11:08:23.872934Z"
    }
   },
   "cell_type": "code",
   "source": "user_info.duplicated().sum()",
   "id": "9ed900242456180",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 16
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:40.047632Z",
     "start_time": "2024-09-18T11:08:23.919757Z"
    }
   },
   "cell_type": "code",
   "source": "user_log.duplicated().sum()",
   "id": "dec4ad3ab9cacae9",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "13750198"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 17
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "可视化数据\n",
   "id": "5d01da829a10a438"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:08:59.734921Z",
     "start_time": "2024-09-18T11:08:59.285349Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#正负样本比例分布\n",
    "label_gp = train_data.groupby('label')['user_id'].count()\n",
    "print('正负样本的数量：\\n',label_gp)\n",
    "_,axe = plt.subplots(1,2,figsize=(12,6))\n",
    "train_data.label.value_counts().plot(kind='pie',autopct='%1.1f%%',shadow=True,explode=[0,0.1],ax=axe[0])\n",
    "sns.countplot(x='label',data=train_data,ax=axe[1],)"
   ],
   "id": "84ccc7f0c7ddf09b",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "正负样本的数量：\n",
      " label\n",
      "0    244912\n",
      "1     15952\n",
      "Name: user_id, dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='label', ylabel='count'>"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1200x600 with 2 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 19
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:10:51.448372Z",
     "start_time": "2024-09-18T11:10:51.185067Z"
    }
   },
   "cell_type": "code",
   "source": [
    "#购买次数前5的店铺\n",
    "print('选取top5店铺\\n店铺\\t购买次数')\n",
    "print(train_data.merchant_id.value_counts().head(5))\n",
    "train_data_merchant = train_data.copy()\n",
    "train_data_merchant['TOP5'] = train_data_merchant['merchant_id'].map(lambda x: 1 if x in [4044,3828,4173,1102,4976] else 0)\n",
    "train_data_merchant = train_data_merchant[train_data_merchant['TOP5']==1]\n",
    "plt.figure(figsize=(8,6))\n",
    "plt.title('Merchant VS Label')\n",
    "ax = sns.countplot(x = 'merchant_id',hue='label',data=train_data_merchant)\n",
    "for p in ax.patches:\n",
    "    height = p.get_height()"
   ],
   "id": "4c979893ad7cc014",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "选取top5店铺\n",
      "店铺\t购买次数\n",
      "4044    3379\n",
      "3828    3254\n",
      "4173    2542\n",
      "1102    2483\n",
      "4976    1925\n",
      "Name: merchant_id, dtype: int64\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArcAAAIdCAYAAAAnGlX/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9hklEQVR4nO3deXxU1f3/8ffMZCEECCAawLAKjIAhssSFpWyptqCshboUxQo1qPVRE0uJAgJBIVQpbuA3KlqLFlli3EBZvlbUIlKsGK1J6BiBIJsGAgmECZP5/cGP+TpCQmayzOTM6/l45PFg7rnn3s/NYSbv3Jx7r8XtdrsFAAAAGMAa6AIAAACA2kK4BQAAgDEItwAAADAG4RYAAADGINwCAADAGIRbAAAAGINwCwAAAGMQbgEAAGAMwi0AAACMQbgF0GBlZWXJbrcrOTnZs+yFF16Q3W7XjBkz6q2OSZMm6amnnqq3/fnjtttu05gxY85ZPmnSJI0bN87zeuvWrRo3bpx69eql66+/Xu+++26191FYWCi73a5Nmzb5XedTTz2lG264we/+P7Zt2zbZ7fZa2RaAhoNwC6DBy8vLO++/TfTUU0+psLDQ534DBw5UXl6eiouLPcucTqd27typAQMGSDrzvZs6daqGDBmi5557TgkJCUpNTdWePXtqrX4AqGuEWwAN3nfffadjx45JknJzcwNcTd16+umntW/fPp/7DRgwQBUVFdq+fbtn2eeff65Tp06pf//+ks6cCe/UqZPuu+8+XX311Zo/f76io6P15ptv1lr9AFDXCLcAGrRLL71UF198sfLy8lReXq5vvvlGCQkJgS4r6PTo0UMtW7bUp59+6ln26aefKioqSn379pUkHTlyRMePH9fp06clSREREXr++ec1cuTIgNQMAP4g3AJo8Ox2u/Ly8uRwOGSxWNShQwev9nXr1umGG25Qr169NGbMGG3dutWrfcaMGZoxY4YOHjyo1NRUXX311V5/inc6nVqwYIGuueYa9evXT3fdddd5/1S/Zs0aDRs2TH369FFqaqpOnTrlacvJydGtt96q3r17a9CgQXrsscfkdrsl/d9c1by8PE2fPl19+vTRz372M73++uuS/m/u6Nn5o7fddpvsdruGDRtW7e+RxWLRtdde63Xmdvv27erXr58iIiIkSYMHD9b+/ft11113adeuXZKkXr16qVOnTtXeT3W8+eabGjFihBISEvSLX/xCb7/99jnrPP3000pMTNTVV1+tJ554wvO9kqSTJ09q/vz5uvbaa5WYmKg//OEPKioqqtUaATRchFsADV63bt2Um5urvLw8denSRTabzdO2detWpaSk6Prrr9cLL7yghIQETZ06VQ6Hw2sbR48e1c033yyLxaLf//73atGihadt+vTpys7O1h//+Ec9+eSTOn78uKZMmaLy8nLPOps2bdJzzz2ntLQ0paWl6d1339Xq1aslSaWlpZoyZYoaNWqkzMxMTZ8+Xa+88oreeOMNrxqmT58ui8WiZ555Rv369dPs2bNVVFSknj17as2aNVqzZo0kae7cuVqzZo2WLVvm0/dpwIABys3N1bFjx+R0OvX555975ttK0siRI5WSkqJt27bpxhtvVEpKig4cOODTPi5kx44dmj59ugYPHqwXXnhBN954o/70pz9p7969nnUKCgr0/vvva/HixZoyZYr+53/+RytXrvS0P/zww9q0aZMefvhhPfbYY9q1a5fuvffeWq0TQMMVFugCAKCmunXrpldffVVNmzY95+r4pUuXatiwYfr9738vSerbt6/ee+89vfPOO7rvvvs8673//vuaMWOG7rjjDq/+BQUFWr9+vTIyMjx3G2jZsqWWLl2qH374Qa1bt5Ykffvtt3rvvfc8rzdu3OiZ/3vixAn94Q9/0LBhwxQbGyun06mXX35Zn3/+udcdDNq0aaOMjAxJZ85Gv/POOyooKFDfvn0VHx/vWa9Tp05er6vrx/NuY2JiVFZW5hVuJemuu+7S6NGjlZmZqVWrVunTTz/VihUr1LFjR5/3dz6NGjXSvHnzNH78eNlsNnXq1EnLli1TTk6O2rVrJ0lyuVxavHixOnTooEGDBik3N1d//etfdfPNN2vv3r1688039fTTTyspKcmz/rRp07R3717PNgCELsItgAavW7du2rVrl5o0aaJBgwYpPz/f05afn6+jR4+eE3p3797t9bpLly66/fbbz9n2119/LUnq16+fZ9nll1+uJ5980mu9pKQkT7CVzgTgs3NXL774Yg0cOFCrV6/Wv/71L+Xk5Ki0tFSXXXaZ1zZ+85vfePWX5NlGbWjdurUuu+wyffrpp2revLkuvvhidevW7bzrzZ49W6NGjdIdd9yhhQsX6tlnn62VGnr27KmysjJlZGTos88+U25urk6fPq2ysjLPOrGxsV5TS3r16qX33ntPLpdLu3btktvt1j333HPOtnfv3k24BUC4BdDwdenSRU6nU//85z915513eoVbSbrllls0ceJEr2VNmzb1eh0fHy+rtfKZWhaLxfNvt9utHTt2qEOHDrr44oslqcpQ9dVXX+mWW27R1Vdfreuuu06pqalasWLFOeu1b9++8oOsJQMGDPCE27N3SThr3LhxXvfDvfLKKzV27Nga3bf2p1555RUtWLBA48aN06RJk9SnT59zfqn46TjYbDa53W6vebfPP/+8WrVq5bUewRaAxJxbAAaIjIz0BMOfnqHt2rWrDh8+rO7du3u+Nm3apA8++KBa2+7evbskeV2IVVhYqFtvvVU5OTmeZT+e5/tTb7zxhlq2bKnMzEzdcsstuuKKK845cyydG+rOJyIiwussp6/Ozrvdvn37OVMSSkpKtG3bNq9lR48eVdu2bf3e30+tXr1aI0aM0Lx58zR69GhFR0fr6NGjXuscOHBA3333nef1l19+qbZt2yosLExdu3aVdOYiv7PjedFFF+mFF17w6xZpAMzDmVsARujWrZuOHj3qOZN61j333KM77rhDf/nLXzRw4EB99tlneuaZZ/TEE09Ua7udOnXSL37xCy1cuFAVFRVq3bq1li1bpvbt2+uaa66p1jZatGih77//XuvWrVN0dLT+9re/6d///rfi4uJ8Ps6EhAStXr1a0dHROnDggNq0aeO5lVd1XHXVVbLZbCovLz/nzO1NN92kxx57TB06dFDfvn312Wef6d1339Wf//xnn2rMzc1V48aNvZa1bt1anTt3VosWLbRz505t3bpVhw8f1tKlS1VaWiqXy+W1fkpKin7/+98rPz9fb7/9th544AFJZ87Ojh49WvPmzVNpaakuueQSZWZmateuXZozZ45PdQIwE+EWgBHOhtufuvbaa7V48WItXbpUy5cvV1xcnB599FFdf/311d72okWLtHjxYi1atEgul0uJiYl69NFHzwlwlbn99tu1a9cuzZw5U02bNtXgwYN10003aevWrT7PqU1PT9dDDz2kO+64Q02aNNHChQt96t+4cWP17t37vL8ITJ48WRaLRStXrtSzzz6rdu3a6ZFHHvH5PrfnexTxrbfeqtmzZ2vmzJmaNWuWpk2bptatW2vChAlat26dduzYoQkTJkiSLrvsMvXt21f33XefoqOjlZycrNtuu82zrblz5+rxxx/XggULVFZWpr59++qll15SkyZNfKoTgJks7h9PYgIAAAAaMObcAgAAwBiEWwAAABiDcAsAAABjEG4BAABgDMItAAAAjEG4BQAAgDFC/j63FRUVOn36tKxWq9fjNQEAABAc3G63KioqFBYWdsGnOYZ8uD19+rTXIzQBAAAQnOLj4xUREVHlOiEfbs+m//j4+CqfDQ8AAIDAcLlcysnJueBZW4lw65mKYLPZCLcAAABBrDpTSLmgDAAAAMYg3AIAAMAYhFsAAAAYI+Tn3AIAADQUbrdbp0+flsvlCnQptS48PLxWrn8i3AIAADQATqdT+/fv14kTJwJdSp2wWCyKi4tTkyZNarQdwi0AAECQq6ioUEFBgWw2m9q2bauIiAijHj7ldrt1+PBhFRYWqmvXrjU6g0u4BQAACHJOp1MVFRVq166dGjduHOhy6sTFF1+sb7/9VuXl5TUKt1xQBgAA0EBU5yEGDVVtnYk29zsEAACAkEO4BQAAgDEItwAAAAYrLCyU3W6v1rpZWVmaNGmS3/vatm2bhg0b5nf/2kC4BQAAgDEItwAAADAG4RYAACDE/Otf/9Lo0aOVkJCg8ePHKz8/39NWXl6ue++9V71799bUqVP1ww8/eNq++OILTZgwQX379tW9996r48ePB6L8KhFuAQAAQkhFRYXuu+8+/eIXv9CmTZvUu3dvLVq0yNP+73//W927d9ebb74pq9WqefPmSZKOHTumqVOnavDgwXrrrbd08uRJLVy4MFCHUSke4gAAABBi3njjDTVt2lR5eXkqLS3Vt99+62m7+OKLNW3aNFmtVt1777266aab5HK59P777ys8PFz33HOPLBaLJk+erOnTpwfuICpBuAUAAAghVqtVL774otasWaO4uDhdeumlqqio8LRfeumlnodFtG3bVqdPn9aRI0d08OBBFRUVKTExUdKZM8ClpaU6deqUIiMjA3Is50O4BQAACCHbtm3T3//+d23cuFGtWrXSBx98oK+++srTfuDAAbndblksFh08eFA2m03NmzdX69atdcUVV2jx4sWSJLfbrZKSEoWFBVecZM4tAABACDlx4oQk6fjx49qxY4cWLFggt9vtaT9w4ICef/55FRYW6plnntGQIUMUFhamIUOG6LvvvtMXX3wh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oPgVbnNzcz3/LisrU05Ojp5++mndfffdtVYYAAAA4Cu/7pbwY40aNVJiYqKWLVumjIyM2qgJAAAA8EuNw+1ZP/zwgw4dOlRbmwMAAAB8VqM5t2dVVFTo8OHDuu2222qtMAAAAMBXtXIrMIvFotatW6tdu3a1UhQAAADgD7+mJVx11VW66qqr1KhRIx05ckSRkZEEWwAAAAScX2duDx48qGnTpmn37t265JJLdOjQIXXs2FFLly5VbGxsbdcIAAAAVItfZ25nz56tK664Qlu3btX69ev1z3/+Uz179tSsWbNquz4AAACg2vwKtzt27NC0adMUEREhSYqMjFRycrI+++yzWi0OAAAA8IVf4bZbt256/fXXvZa9/vrr6tq1a60UBQAAAPjDrzm3c+bM0Z133qm33npLcXFx2rt3r0pLS7V8+fLarg8AAACoNr/Cbbdu3fTee+/p/fff1/79+zV27FgNGTJEjRs3ru36AAAAgGrza1rCf//7X916662yWq2aMmWKli1bpokTJ6qgoKC26wMAAACqze+7JVxzzTUaOHCgJOm1117TkCFD9PDDD9dqcQAAAIAv/Aq3X3/9te644w41bdpUktS4cWNNmjRJX331Va0WBwAAAPjCr3Brt9v1xhtveC174403uFsCAAAAAsqvC8pmz56tqVOnKjs7W5deeqkKCwt17NgxPf/887VdHwAAAFBtfoXbHj166L333tM//vEPHThwQKNHj9bgwYPVpEmT2q4PAAAAqDa/piVIUpMmTXTDDTdoypQpGjlypM/B9siRIxo2bJgKCws9y9LT02W32z1fP//5zz1t+fn5Gj9+vBITE5WRkSG3212tNgAAAIQOv8NtTRQVFSk5OVn79u3zWv7VV18pMzNT27dv1/bt2z1PQXM6nUpOTlbPnj21du1aORwOZWVlXbANAAAAocWvaQk1lZKSohEjRujzzz/3LDt9+rTy8/PVr18/RUdHe62/ZcsWlZSUKC0tTVFRUUpJSdHcuXM1fvz4Ktt84XK5fFrfZrP5tH6w8vW4QxXjHVoY79DCeIcWxrth8uV4AxJu09PT1a5dOz366KOeZXl5eXK73RozZowOHjyoxMREpaenq23btsrNzVVCQoKioqIknblbg8PhkKQq23yRk5NT7XWjoqLUo0cPn/cRjPLy8nTy5MlAlxHUGO/QwniHFsY7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6ikuLnZfffXV7ry8PLfb7Xa//vrr7iFDhrh3797tHjx4sPvLL79079u3z52Wlub+zW9+43a73e7du3e7ExMT3e+884778OHD7vvuu8/961//2tNWWT8El9/+9rfutWvXut3uqt/DlfXxpQ2B9cYbb7i7devmGZ8ffvjBPXHiRHe3bt28Ps9PnTrlLi4u9nzt37/fffXVV7v37NlT6WcFgs+Px/vjjz92X3nlle6PPvrIXVhY6J46dar75ptvdrvdVY/3WXl5ee7evXu7d+/eHajDCSjO3BqiqKhIycnJ2rdvX7WWO51OJScnq2fPnlq7dq0cDofnt749e/bowQcfVGpqqrZs2aK2bdvqoYceqrdjwYWVlpbqwQcfVLdu3SRJl19+uYqLi/Wf//xHCQkJ6tmzp9q2batx48apoKBAkuRwOHT//fdrxIgRatWqlW6++WZ9+eWXklRlPwSPN998Ux999JGkqt/DlfXxpQ2BdfToUWVkZKhTp06eZSkpKRoxYsQ560ZERKhZs2aer+zsbF133XVq165dpZ8VCC4/He/s7GxNmDBBAwYM0KWXXqrp06drx44dOnLkSJXjLZ15TO3s2bN1++23q3379oE8rIAh3Bqisg+9ypZv2bJFJSUlSktLU/v27ZWSkqI1a9ZIqjoEITi0adNGo0aNkiSVl5dr+fLluu6669SlSxd98skn+s9//qPjx4/r1Vdf1YABAyRJQ4cO1c033+zZRkFBgTp06CBJVfZDcPjpD7+q3sOV9aluGwIvIyNDSUlJuvLKKz3L0tPTdfvtt1fZ79SpU3r55Zf1u9/9TlLlnxUILj8d7yNHjqht27aedqv1TFwLCwvz6vfT8ZakVatWKTc3V3FxcXr//fdVXl5e9wcQZMIuvAoagvT0dLVr106PPvpotZbn5uYqISFBUVFRkiS73e6Zfzl06FCvdX8cghBccnNzddtttyk8PFzr169Xs2bNdP3112vs2LGSpLi4OK1evfqcfk6nU8uXL9fkyZMlnQm31emHwDn7w+/UqVOSqn4PV9anum0IrE8++URbt27V22+/rfnz53uWnz0zV5W33npLCQkJiouL81r+088KBI/zjXf37t21efNm3X777bJYLMrKylKvXr3UtGlTr74/He/S0lItWbJEHTp00IEDB/TGG2/o2Wef1csvv6zIyMh6P7ZA4cytISr70KtseUlJideHn8VikdVqPefPVWdD0C233FJ7xaLW2O12vfTSS+rSpYvS0tL0+eef6/3339fq1av12Wef6YYbbtDUqVPl/sntrJcsWaLGjRtr4sSJklTtfgiMsz/8/vjHP3qWXeg9fL4+VW0PweHUqVN6+OGHNWfOHDVp0sTn/itXrtRNN910zvKfflYgOFQ23r/97W9VXl6ucePG6aabbtJzzz2nW2+99Zz+Px3vjRs36uTJk/rrX/+qe+65R8uXL9exY8eUnZ1dH4cTNAi3IcpmsykiIsJrWWRkpMrKyryW/TQEIbhYLBb16NFDCxcu1ObNm/Xaa69p5MiR6tWrl6Kjo/WHP/xBhYWFys3N9fT5+OOPtXLlSj3++OMKDw+XJK1bt+6C/RAYlf3wq+o9XFVAqml4Qt1aunSprrjiCg0ZMsTnvrt379aePXvUv3//c9p++lnBvNvgUNl4N2/eXCtXrtSSJUvUrVs3de7cWTfeeKPXOucb7wMHDqhXr15q3ry5pDPTGOx2e8jd/YZpCSEqJiZGu3bt8lpWWlrqCTvS/4WgVatWeS1H4G3dulVbtmzRn/70J0lngs5Z33//veffpaWlOnHihFwulyRp7969euCBBzRnzhx16dLFs57L5fK6/+VP+yFwKvvhV9V7uKqAVJPwhLr31ltv6ciRI+rXr58kqaysTOvXr9cXX3yhOXPmVNl3/fr1GjJkiNfndWWfFWfncCKwLjTel1xyiTZu3Kj09HSvz3np/OPdunXrc6Yafffdd7r66qvr/mCCCOE2RMXHx3tdfFJYWCin06mYmBhJlYcgBIfOnTvrnnvuUceOHfWzn/1MS5Ys0YABAzRw4EA9+OCDeumll3TRRRdp9erVatWqlex2u8rKynTXXXcpKSlJw4cPV2lpqSSpcePG6tOnT6X9EFiV/fC79NJLdfr0ac96P34PV/UDc8uWLX6HJ9S9V1991WtcFy1apISEBM98+Kp8+OGHGjdunNeyyj4rfjp3E4FxofH+29/+ps6dOyspKemcvucb7yFDhmj+/Pn6+9//rqFDh2rDhg36+uuvtXjx4ro9kCBDuA1RiYmJOn78uLKzszVmzBhlZmaqf//+stlsVYYgi8US4MohSbGxsXriiSe0YMECZWRkaODAgfrzn/+sFi1aqKCgQH/96191+PBhde3aVU899ZTCw8P1wQcfyOFwyOFwaNWqVZ5tbd68WSNGjKi0HwKrqh9+I0eOPO97uKo+ycnJfocn1L3WrVt7vW7cuLFatGihli1bVtmvrKxMO3fu1Lx587yWV/ZZgeBQ1XgfO3ZML7zwgp577rlz+lU23s2bN9fzzz+vhQsXauHChWrVqpX+8pe/nHOBoeksbq4YMYrdbtfmzZvP+Y98vuWbNm1SamqqoqOj5XK5tGLFCnXt2lWbNm3SPffcc862z7ddAPVrxowZuuqqqzRu3LhK38NV9fGlDQAaIsJtiDt48KBycnLUp0+fC54ZABB8eA8DgDfCLQAAAIzB5ZIAAAAwBuEWAAAAxiDcAgAAwBiEWwAAABiDcAsAAABjEG4BoIHIysrSpEmTAl2Gl23btmnYsGE1XgcAagvhFgCgYcOGadu2bT7369u3r9588806qAgA/EO4BQD4LSwsTE2aNAl0GQDgQbgFgBqYNGmS0tLSNHjwYM2YMUOzZs1Sv3799P777+uLL77QhAkT1LdvX9177706fvy4V7+srCy9+OKLGjp0qDZv3uxp27p1q2688Ub17t1bU6ZM0YEDB7z2uWrVKvXv31/XXnut3n33Xc/yDRs26Prrr9eVV16pSZMm6eDBg5L+bzrD+frdeeedstvt2rdvn2677TbZ7XZlZmZW+/grm3KwevVq/exnP9PAgQP14YcfVnt7AFBThFsAqKE9e/Zo1qxZev3119WtWzcNGTJEmzdv1tSpUzV48GC99dZbOnnypBYuXOjV77XXXtMnn3yi9PR09e7dW5JUWFioadOm6Y477tD69evVrFkzzZs3z9Nn165deu+99/Tqq69q7Nixnm0ePXpUKSkpmjZtmjZs2KDmzZtr6dKlF+z31FNPafv27WrTpo2effZZbd++XZMnT67R9yM3N1fz5s3T7Nmz9cILL2j9+vU12h4A+IJwCwA1dMMNN+jyyy+XJE2cOFEdOnRQVlaWwsPDdc8996ht27aaPHmy/vd//9er34kTJ/T0009r4MCBatmypSTp7bffVr9+/TRu3Di1bt1a06dP14QJE7z6ZGRkqGPHjpowYYL2798vSYqOjtY//vEPXX/99dq9e7fKy8v17bffXrBf48aN1axZM1mtVs+/IyIiavT92LRpkwYMGKCkpCTZ7XbdeeedNdoeAPgiLNAFAEBDFxkZec6/w8LCVFRUpMTERElSRUWFSktLderUKc86N910k8LDw722deDAAV166aWe161bt1br1q09ry+77DK1atVKkrz6ut1uPf7449q4caO6dOmiJk2aqKKi4oL96sKhQ4e8am7Xrl2d7g8AfoxwCwB1wOVy6YorrtDixYslnQmfJSUlCgv7v4/dqKioc/q1adNGn376qed1QUGB7r//fmVlZUlSpRdvvf322/r000/1wQcfKDo6Wq+88orXfNwLXfRlsVjkdrurf4BVuOiii5SXl+d5ffYsMQDUB6YlAEAdGDx4sL777jt98cUXstlsWrdunaZMmXLBADly5Ejt2LFDWVlZ2r9/v5YtW6aLLrpIVmvVH9cnTpyQJBUXF+uDDz7QsmXLfAqrHTp00IcffqhDhw5p69at1e53PsOHD9dHH32kDz74QLt27dILL7xQo+0BgC8ItwBQB5o1a6alS5fqxRdf1C9/+Utt3LhRy5Yt8zpzez5xcXGefiNHjtSxY8f06KOPXnB/Y8aMUceOHTVixAg988wz+vWvf61vvvlGp06dqla906dP14cffqjhw4fr6aefrlafylxxxRWaMWOGZs6cqd/97ncaNGhQjbYHAL6wuGvr71AAAABAgDHnFgBwju+++06jRo06b1v//v315JNP1nNFAFA9nLkFAJzj9OnT5zw84qxGjRp57rwAAMGGcAsAAABjcEEZAAAAjEG4BQAAgDEItwAAADAG4RYAAADGINwCAADAGIRbAAAAGINwCwAAAGP8P5o/QiCFvTpYAAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 22
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:11:21.958597Z",
     "start_time": "2024-09-18T11:11:21.377094Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 复购概率分布\n",
    "user_repeat_buy = [rate for rate in train_data.groupby(['user_id'])['label'].mean() if rate <= 1 and rate > 0] \n",
    "\n",
    "plt.figure(figsize=(8,6))\n",
    "\n",
    "ax=plt.subplot(1,2,1)\n",
    "#直方图\n",
    "sns.distplot(user_repeat_buy, fit=stats.norm)\n",
    "ax=plt.subplot(1,2,2)\n",
    "#qq图\n",
    "res = stats.probplot(user_repeat_buy, plot=plt)"
   ],
   "id": "c2e2c53b18669df8",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 800x600 with 2 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArcAAAIdCAYAAAAnGlX/AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAACceklEQVR4nOzdd3xUVfrH8c/MpCcQQi+BCCjV0KSJiIjYEBERd+2Ka6GJGlQEC01AUCmi4Lqu/eeqIIuIYgNWLICIAkGpoSahJ5BC6sz8/rgkGEmZlMmd8n2/XnlxZ+aW556BzMOZc55jcTqdTkREREREfIDV7ABERERERKqKklsRERER8RlKbkVERETEZyi5FRERERGfoeRWRERERHyGklsRERER8RlKbkVERETEZyi5FRERERGfoeRWRERERHyGklsREZFqkpiYSOvWrQt/OnfuzK233sqvv/5a5deIj4+v8Dnmz5/PwIEDXdr3ySef5Mknnyzx9fXr19O6detSz9G6dWvWr19frhirQnnej4J9ExMTqz1OKR8ltyIiItXs0UcfZfHixcybN486depwzz33cPDgQbPDqpDRo0czevToSp1j8eLFtG/fvtjXtm3bxttvv12p85elOt6PtLQ05s+fT1paWpWeV86l5FZERKSaNW3alNjYWPr06cPs2bMJDw9n8eLFZodVIdHR0URHR1fqHLGxsURERBT72rZt23j33Xcrdf6yVMf7kZaWxiuvvKLkthoouRURETFRUFAQTZs21dfdHkLvh/dTcisiImKy48ePU79+/cLH/fr1Y8mSJfz666/cddddXHPNNefs/+ijj9K5c2d69uzJ9OnTyc3NLbLP5s2bGTBgALGxsfzjH//g0KFDRV5ftmwZAwYMoGPHjlxzzTUsX778nLheeeUVunXrRo8ePZg3bx5Op/Ocfcoac+uK4sbcPvnkk7Ru3Zrx48eTlJRUOC52/vz5ABw+fJi2bdvy5ZdfFjnuqquuYtq0aZWK56/vhyv7l/R+LFmyhNatW3PFFVcAcMUVV9C6dWvuvPPOSsUoJQswOwARERF/lZqayn/+8x+Sk5PPSWA3bdrEzJkzGTJkCIMHDy58Picnh3vuuQeHw8GLL75IWloaM2fO5PDhw7z88suF+82ePZtx48ZRr149nn/+eR555BE++ugjADZu3MgTTzzBsGHDuOKKK1i/fj3jxo2jY8eONG3aFIC9e/eyevVqZs+ezfbt25kzZw7169fn1ltvdX/DYIzlvf322/nf//7HRx99xMKFCwEKk86GDRvSo0cPPv/888K2+/3339m/fz833nhjha5Z2vtRkrLej8svv5zFixdz7NgxRowYwcKFC6lXrx7h4eEVilHKpuRWRESkmsXFxREXFwdAREQEU6dOpWPHjkX2WbJkCe+//z6dOnUq8vznn39OQkICn3/+OS1atAAgJCSERx55hO3btxeOXb377rv5+9//DkBwcDD33nsvmzZtolOnToSEhDBlyhRuuukmbDYbzZs3Z+HChcTHxxcmt3a7ndmzZxMTE8Oll17K9u3beeedd6otuS0Yy7tr1y6CgoKIjY09Z58bbriBZ599lvT0dGrUqMEXX3xBq1ataNeuXbmu5cr7UZKy3o82bdoQFRVVOMyhVatWlR6jLKVTcisiIlLNxo4dy6WXXkp4eDjR0dFYreeOErzpppvOSWwB4uPjadiwYWEiBXDxxRcXvlaw3b1798LXO3ToAMC+ffvo1KkT7du3Jzs7m5kzZ/Lrr7+yfft28vPzyc7OLjymQYMGxMTEFDnHV199hd1ux2azVa4BqshVV13F5MmT+eabbxgyZAgrVqzg9ttvL/d5XHk/SlLW+9GmTZtyxyOVozG3IiIi1axJkya0bduWZs2alZhIldRz6HQ6sVgsRZ4rOMefx8T+eZ+C1x0OBwD/93//x9133012djZ33nknK1asoHHjxsWes4DNZsPpdBY77tYs4eHhXHHFFXz++eds2bKFw4cPc/3115f7PK68HyVx9f2Q6qPkVkRExIvExsZy6NAh9u3bV/jc2rVrC18r8OeFCLZu3QpAs2bNAFi0aBEDBgxgypQp3HDDDYSHh3Py5Mki1zl8+DDJyclFztG4cWMCAqr3S9/g4OAiPcp/dcMNN7B27VreffddLrnkknJNBKsKrr4fwcHBgDFGV9xLya2IiIgXGThwIC1atGD06NGsWrWKpUuXMmnSJK666iratm1buN+///1vFi9ezOrVq5k8eTLt2rXjoosuAiAqKorNmzezdu1ali1bxm233UZmZiZ2u73IteLi4vjxxx956623WL58eYW+8q+s9u3bc/LkST766CPWr1/P66+/XtgDDXDJJZdQu3ZtPvvssyIT76qLq+9HvXr1aNy4Me+++y6//PILixcvZvfu3dUerz9QcisiIuJFgoODeeeddzj//PMZO3YsM2bMYODAgbz44otF9hs5ciSvv/46cXFxNG3alIULFxZ+ff70009Tp04dRowYwYIFC7j55pu58MIL2bhxY+HxLVu25KKLLmLMmDG89dZbDB8+nLvuuqta7xXgvPPOY8qUKSxcuJB7772XZcuWFXndZrMxYMAAatSoQf/+/as9PlffD4A5c+awefNm7rnnHl5++WXy8vKqPV5/YHFqQIiIiIh4oe3bt5OZmcmcOXNo0aIFU6ZMMTsk8QDquRURERGvtG7dOu6++25yc3MZM2aM2eGIh1DPrYiIiIj4DPXcioiIiIjPUHIrIiIiIj5Dya2IiIiI+AwltyIiIiLiM6p3mREP5HA4yM/Px2q1nrN8nohIVXA6nTgcDgICAsq9tKc30O9REXG38vwe9fvkNj8/n/j4eLPDEBE/EBsbS1BQkNlhVDn9HhWR6uLK71G/T24Lsv/Y2FhsNptbrmG324mPj3frNcyie/NOvnpvnnpfBXH5Yq8tlO/3qKe+R9VJbaA2KKB2cL0NyvN71O+T24Kv0Gw2m9v/YlXHNcyie/NOvnpvnnpfvvqVfUV+j3rqe1Sd1AZqgwJqB9fbwJXfo77ZjSAiIiIifknJrYiIiIj4DCW3IiIiIuIzlNyKiIiIiM9QcisiIiIiPkPJrYiIiIj4DCW3IiIiIuIzlNyKiIiIiM9QcisiIiIiPkPJrYiIiIj4DCW3IiIiIuIzlNyKiIiIiM9QcisiIiIiPkPJrYiIiIj4DCW3IiIiIuIzlNyKiIiIiM9QcisiIiIi1ScrC9atA6fTLadXcisiIiIi1cPphEGD4OKL4X//c8sllNyKiE+xWvVrTUTEY33wAXz7LYSGwvnnu+USAW45q4iIm5zKyiM9O6/Y15wOJ0ERkdUckYiIuOTkSRg71th++mlo2hTs9iq/jJJbEfEq6dl5/Lr/JHl2xzmv2awQHWJCUCIiUrZnnoEjR6B167NJrhsouRURr5Nnd5CTf25yG6gRCSIinmnjRliwwNhesACCg912KdM+ClJTU+nXrx+JiYkALFmyhNatW5/zs2TJkjLPNXz48CLH3HPPPW6OXkRERERcYrfDiBHgcMBtt0G/fm69nCk9tykpKYwYMYKkpKTC5wYOHEj//v0LH58+fZrBgwfTrVu3Ms+3detWPvvsMxo2bAhAQIA6pEVEREQ8wr/+BRs2QM2a8OKLbr+cKT23cXFxDBgwoMhzQUFB1KxZs/Bn6dKlXHXVVTRt2rTUcx0+fBiAVq1aFR4bFhbmtthFRLzBX78dc9Wjjz7K1KlT3RSViPido0dh/Hhj+7nnoFEjt1/SlC7OqVOn0rRpU6ZPn17s6zk5Obz77rt8/PHHZZ5ry5Yt2O12+vTpQ1paGpdffjmTJk0iMrJ8M6btbpit99dzu/MaZtG9eSdvvjenw4nD4cDhOHfMrcNi/Olp91Xd8RT37Zgrvv/+e9atW8dXX33lpshExO888YRRJaFzZ2NoQjUwJbktqzf2s88+o2PHjkRHR5d5rn379tG+fXvGjRuH1Wpl/PjxzJ49m8mTJ5crpvj4+HLtXxHVcQ2z6N68k7fdm81mIz+4JknJR8jKzT/n9dCgAFrWaMAff/zhcQludSr4dmzTpk0uH5Odnc3kyZMZO3YsNWvWdF9wIuI/1qyBd94BiwUWLoRqGjbqkYNTP/zwQx566CGX9n3ggQd44IEHCh8/9thjjBkzptzJbWxsLDabrVzHuMputxMfH+/Wa5hF9+advPnekk9m0yQjoPhqCTYAB+3atfOo+ypo7+pS1rdjxVmwYAHZ2dkEBASwdu1aevbsicViKdd1XfkPhTd/a1BV1AZqgwI+3Q55eVhHjsQCOO67D2fXrsXWtHW1DcrTRh6X3O7fv58DBw7Qq1evCh1fs2ZNUlNTyc3NJSgoyOXjbDab2z8Mq+MaZtG9eSdvvDeL1YLVaqW4hcisFgCHV95XVSrr27G/Sk5O5q233qJDhw4kJyfz7rvv0qhRI1555ZVyJbjlSeC97VsDd1AbqA0K+GI7NHjvPaJ//528WrX4/ZZbsJfxTVJVtoHHJbcrVqygb9++BAYGurT/mDFjuPfee+nUqRNgNE69evXKldiKiPizJUuWULduXd566y2CgoK466676NevHz/++CO9e/d2+TyufBPgzd8aVBW1gdqggM+2w8GDWN94AwDbSy8Re9llJe7qahuU5xswj0tuv//+e4YMGXLO8xkZGQQHB5+T9LZq1YoZM2YwYcIEUlJSmDdvHrfeemt1hSsi4vWOHDlCz549CzsFIiIiiImJKXelhfL0mPt77zqoDUBtUMDn2mHsWMjMhN69sd5zD8V+1fYXVdkGHrWeT3Z2Nps3by7shf2zQYMG8d13353z/IMPPkjLli0ZNmwY06dP55ZbbuHBBx+shmhFRHxDw4YNycnJKXzscDg4fPgwjRs3NjEqEfFKX3wBS5aAzWasROZCYlvVTO253bFjR5HHISEhbN26tdh9V61aVezzgYGBTJ8+vVwTJ0RE/FFJ34Bde+213HTTTXz11Vd07NiR9957j9zcXLp06WJSpCLilbKyoKAgwCOPQGysKWF4VM+tiIi4T0nfgLVo0YI5c+awcOFCrrrqKr777jsWLFhARESECVGKiNd6/nnYsweaNIGJE00Lw+PG3IqISNX467djJX0DBtC3b1/69u3r5ohExGft2mUktwDz5kGNGqaFop5bEREREak4pxNGj4bcXLjmGiimMEB1UnIrIiIiIhW3aBF8/TUEB8P8+caKZCZScisiIiIiFZOWZkweAxg/Hs4/39RwQMmtiIiIiFTUpElw6BC0bAnjxpkdDaDkVkREREQqYvNmePllY/uVVyAkxNx4zlByKyIiIiLl43DAyJFgt8PQocZEMg+h5FZEREREyuftt+GnnyAiAubONTuaIpTcioiIiIjrTpyAJ54wtidPNhZt8CBKbkVERETEdU8+aSS4sbFnl9v1IEpuRURERMQ1a9fCG28Y2wsWQGCgufEUQ8mtiIiIiJQtPx9GjDC2hw2D3r3NjacESm5FREREpGyvvmqU/4qKgpkzzY6mREpuRURERKR0ycnwzDPG9syZUK+eufGUQsmtiIiIiJQuLg7S06FHD/jHP8yOplRKbkVERESkZN98Ax99BFYrLFxo/OnBPDs6ERERETFPTg6MGmVsjx4NnTubG48LlNyKiIiISPFeeAF27YKGDWHKFLOjcYmSWxERERE51549MG2asT17NkRGmhuPi5TcioiIiEhRTqex+lh2NlxxBdxyi9kRuUzJrYiIiIgUtXQpfPGFsQLZq6+CxWJ2RC5TcisiIiIiZ2VkwMMPG9tPPAGtW5sbTzkpuRURERGRs6ZOhYMH4bzzYMIEs6MpNyW3IiIiImL4/Xdj8hjA/PkQFmZuPBWg5FZEREREjElkI0dCfj7ccAMMHGh2RBWi5FZERERE4P33Yc0ao7d23jyzo6kwJbciIiIi/i41FR57zNh+9lmIiTE3nkpQcisiIiLi7556Co4ehbZt4dFHzY6mUpTcioiIiPizDRvgtdeM7QULICjI3HgqScmtiIiIiL+y22HECGMy2R13QN++ZkdUaUpuRURERPzVP/8JGzdCZCS88ILZ0VQJJbciIiIi/ujIkbOLNEybBg0bmhtPFVFyKyIiIuKPHn8cTp2Ciy6C4cPNjqbKKLkVERER8Tf/+x+89x5YLLBwIdhsZkdUZZTcioiIiPiT3FxjJTIwemy7dTM3niqm5FZERETEn8yZA9u2Qb16xlhbH6PkVkRERMRf7N8PU6YY2y++CFFR5sbjBkpuRURERPzFI4/A6dPQpw/ceafZ0biFklsRERERf7B8OSxdCgEBxkpkFovZEbmFklsRERERX3f6NDz0kLEdFwft25sbjxspuRURERHxddOnw7590LQpPPOM2dG4lZJbEREREV+2YwfMmmVsz5sHERHmxuNmSm5FRHxQamoq/fr1IzExsVzH5eXlcf3117N+/Xo3RSYi1crphFGjIC8PBgyAwYPNjsjtlNyKiPiYlJQUhg8fTlJSUrmPfeONN9i5c6cbohIRU3z0EaxcCSEhMH++z04i+zMltyIiPiYuLo4BAwaU+7h9+/bx5ptv0qRJEzdEJSLV7tQpePRRY3vCBGjRwtx4qkmA2QGIiEjVmjp1Kk2bNmX69OnlOu7ZZ5/l/vvv5/vvv6/Qde12u8v7uLKvr1IbqA0KuLsdLM8+i/XwYZwXXIBj7FjwwPZ2tQ3K00ZKbkVEfEzTpk3Lfcwnn3xCRkYG9957b4WT2/j4eLfs66vUBmqDAu5oh9Dt22n7yisA7Hr4YdK3bavya1SlqmwDJbciIn4uJSWF2bNn88YbbxAQUPGPhdjYWGw2W6n72O124uPjXdrXV6kN1AYF3NYODgfWkSOxOBw4/vY3Wg4fXnXnrmKutkHBfq5Qcisi4uemTZvG0KFDadu2baXOY7PZXP6ALs++vkptoDYoUOXt8Oab8PPPUKMG1jlzwAvauCrbQMmtiIifW758OeHh4fzf//0fAKdPn2b48OGMGDGCBx54wOToRKRcjh2DceOM7SlToHFjc+MxgWnVEoqrwTh16lRat25d+HPllVe6dK6ff/6Za6+9lh49evDWW2+5K2QREa+WkZFBXl7eOc+vXLmSZcuWsXTpUpYuXcqFF17Ic889xy233GJClCJSKU8+Camp0LEjjB5tdjSmMKXnNiUlhREjRpxTg/H333/n9ddfp3PnzgBYrWXn3gXnGjZsGAMHDiQuLo62bdvSs2dPt8QuIuKtBg0axIQJE+jfv3+R56Ojo4s8Dg4Opm7dutSsWbM6wxORyvrxR2NIAsDChVCJMfTezJS7LqjBuGnTpsLn8vPz2blzJ127diU8PNzlcy1btox69eoxatQoLBYLI0eOZPHixUpuRcTv7dixo8jjVatWuXTce++9545wRMSd8vJgxAhj+7774OKLzY3HRKYkt8XVYNyxYwdOp5PBgwdz5MgRunXrxtSpU2lcxliRHTt20LNnTyxnVtzo0KEDs2fPLndM7qy158v1/HRv3smb783pcOJwOHA4HOe85jiz8I6n3ZenxSMiPmj+fIiPhzp14PnnzY7GVKYkt8XVYExISOCCCy7g6aefJioqimnTpvHss8/yxhtvlHqujIwMWrZsWfg4IiKCI0eOlDum6qi158v1/HRv3snb7s1ms5EfXJOk5CNk5eaf83poUAAtazTgjz/+UEIpIv4jMREmTjS2Z840Elw/5jGDMQYNGsSgQYMKHz/zzDP079+fjIwMIiIiSjzOZrMRFBRU+Dg4OJjs7OxyX9+dtfZ8uZ6f7s07efO9JZ/MpklGADn55/bcBtoAHLRr186j7qs89RlFRMotLg4yMoyhCMOGmR2N6Twmuf2rmjVr4nA4OHr0aKnJbWRkJCkpKYWPMzMzCQwMLPf1qqPWni/X89O9eSdvvDeL1YLVaqW4+aZWC4DDK+9LRKRCvvoKFi0Cq9WYRObCZHxf5zEtMGPGDL744ovCx/Hx8VitVho1alTqcbGxsWzevLnw8bZt22jQoIHb4hQRERHxCNnZZ8t9jRljlP8Sz0lu27Zty9y5c9mwYQNr165l6tSp3HjjjYSGhgIl12fs168fGzduZN26deTn5/Pmm2/Su3fv6g5fREREpHrNnAm7dxsLNUyebHY0HsNjhiUMHjyYhIQERo4cSXh4OP379ycuLq7w9ZLqM9auXZtx48Zx3333ERERQVhYGNOmTavu8EVERESqz+7dMGOGsT1nDqgudSFTk9u/1mAcO3YsY8eOLXbf0uoz3n777fTu3ZuEhAS6d+9e6hhdEREREa/mdBrDEXJy4Mor4eabzY7Io3hMz21lxcTEEBMTY3YYIiIiIu61ZIkxkSwoCF55Bc7U+heDx4y5FREREZEypKfDww8b2+PGQatW5sbjgZTcioiIiHiLKVMgKQlatIDx482OxiMpuRURERHxBvHxxuQxMIYjnKkoJUUpuRURERHxdA4HjBgBdjsMGQLXXmt2RB5Lya2IiIiIp3v3XfjxRwgPh7lzzY7Goym5FREREfFkKSnw+OPG9sSJ0LSpufF4OCW3IiIiIp5swgQ4fhzatYNHHjE7Go+n5FZERETEU61fD6+/bmwvXAiBgebG4wWU3IqIiIh4IrvdmETmdMLdd0OfPmZH5BWU3IqIiIh4ogUL4LffoFYtmDXL7Gi8hpJbEREREU9z6BA8/bSxPWMG1K9vbjxeRMmtiIiIiKd57DFIS4Nu3eD++82OxqsouRURERHxJKtWwQcfgMViTCKz2cyOyKsouRURERHxFLm5MHKksT1yJFx0kbnxeCEltyIiIiKe4qWXYMcOaNAAnnvO7Gi8kpJbEREREU+wdy9MnWpsv/SSUSVByk3JrYiIiIgnePhhyMqCvn3httvMjsZrKbkVERERMduyZfDZZxAQYNS3tVjMjshrKbkVERERMVNmJowZY2w/9hi0bWtuPF5Oya2IiIiIiSzTp8P+/dCs2dmFG6TClNyKiIiImCRk714ss2cbD15+GcLDzQ3IByi5FRERETGD00mz55/HkpcH118PN9xgdkQ+QcmtiIiIiAks//kPNTZuxBkaCvPmmR2Oz1ByKyIiIlLdTp7E8vjjADgnTIDmzU0OyHcouRURERGpbs88g+XIEbJjYnDGxZkdjU9RcisiIiJSnTZuNGrZAgfGjYPgYJMD8i1KbkVERESqi90OI0aAw4HjlltI797d7Ih8jpJbERERkeryr3/Bhg1QsybOF14wOxqfpORWREREpDocPQrjxxvbzz0HjRqZG4+PUnIrIiIiUh2eeAJOnoTOnY2hCeIWSm5FRERE3G3NGnjnHbBYYOFCCAgwOyKfpeRWRERExJ3y8mDkSGP7/vuhRw9z4/FxSm5FRHxQamoq/fr1IzEx0aX9P/roI3r37k379u259957OXr0qJsjFPEj8+bB779D3bowfbrZ0fg8JbciIj4mJSWF4cOHk5SU5NL+v/zyC/PmzWPWrFmsXLmSnJwcZs6c6eYoRfzEwYMwaZKxPWsW1Kljajj+QMmtiIiPiYuLY8CAAS7vv3fvXiZNmkSvXr1o2LAhQ4YMYevWrW6MUMSPPPIIZGZC795w991mR+MXNJpZRMTHTJ06laZNmzLdxa8/b7755iKP9+7dS0xMTLmva7fbXd7HlX19ldrAj9rgiy+wLVmC02bDMX8+OJ3GIg5n+E07lMLVNihPGym5FRHxMU2bNq3wsampqXz00Ue8UIHi8vHx8W7Z11epDXy7DSzZ2bQfMQIbcOTWW0my22HTpmL39eV2cFVVtoGSWxERKTR58mQ6d+5M3759y31sbGwsNput1H3sdjvx8fEu7eur1Ab+0QaWSZOwJiXhbNKEevPnU69GjXP28Yd2KIurbVCwnyuU3IqICACLFy/ml19+YenSpRU63mazufwBXZ59fZXawIfbYNcuY/IYYJk7F1utWqXu7rPtUA5V2QZKbkVEhC1btjB9+nRee+016tata3Y4It7L6YTRoyE3F66+Gm66yeyI/I6qJYiI+ImMjAzy8vLOef748eMMHz6c+++/n/bt25OZmUlmZqYJEYr4gEWL4OuvITgYXnnFWJFMqpWSWxERPzFo0CC+++67c55fvnw5J06cYO7cuXTp0qXwR0TKKS3NKP0FMH48nH++qeH4Kw1LEBHxUTt27CjyeNWqVcXud88993DPPfdUQ0QiPm7SJDh0CFq2hHHjzI7Gb6nnVkRERKSyNm+Gl182tl95BUJCzI3Hjym5FREREakMhwNGjjQWaBg6FK65xuyI/JqSWxEREZHKePtt+OkniIiAOXPMjsbvKbkVERERqagTJ+CJJ4ztyZMhOtrceETJrYiIiEiFPfmkkeDGxsJDD5kdjaDkVkRERKRi1q6FN94wthcsgMBAc+MRwMTkNjU1lX79+pGYmFj43LfffssVV1xBu3btuPnmm0lISHDpXMOHD6d169aFPyppIyIiIm6Vnw8jRhjbw4ZB797mxiOFTEluU1JSGD58OElJSYXPHThwgAkTJjB27FjWrFlD48aNeeqpp1w639atW/nss8/YsGEDGzZsYMGCBe4KXURERARefdUo/xUVBTNnmh2N/IkpyW1cXBwDBgwo8lxCQgKPPvooAwYMoG7dutx6661s3bq1zHMdPnwYgFatWlGzZk1q1qxJWFiYW+IWERERITkZnnnG2H7+eahXz9x4pAhTktupU6dy9913F3nu8ssv59Zbby18vHfvXmJiYso815YtW7Db7fTp04dOnTrx6KOPcurU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Z8+eWCwWADp06MDs2bPLfU9/7iGpagXnduc1zKJ7807efG9OhxOHw4HD4TjnNYfxa8Dj7qs88XzzzTd88skn7Nq1i48++oi5c+fy/vvvs2HDBjdGKOKB9u6FqVON7ZdeMqokiLigQsltdnY206ZN4+KLL8b2l7EvderU4auvvir1+KbFLJWXkZFBdHR04WOLxYLVauXUqVNERkaWeK6MjAxatmxZ+DgiIoIjR464eiuF4uPjy32MJ17DLLo37+Rt92az2cgPrklS8hGycvPPeT00KICWNRrwxx9/eFyC66rAwEAyMzPp3LkzTz31FABXX3018+bNMzkykWr28MOQlQV9+8Ltt5sdjXiRCiW306ZNK/G14OBgGjRoUO5z2mw2goKCzjlXdnZ2qcntX48rOKa8YmNjz0nUq4rdbic+Pt6t1zCL7s07efO9JZ/MpklGADn55/bcBtoAHLRr186j7qugvV3x97//nTvuuIPVq1dz/vnnExcXh91up2HDhm6OUsSDLFsGn30GAQFGfdsz386KuKJCye0XX3zB1VdfXeTD45dffuGjjz7ihQoWVo6MjGTXrl1FnsvMzCSwjKX1IiMjSUlJKdcxxbHZbG7/MKyOa5hF9+advPHeLFbjWx1rMTMGrBYAh1feV4ExY8bQoUMHAgMDmTlzJvPnzyczM7PCv1tFvE5mJowZY2w/9hi0bWtuPOJ1KpTcjh07lj59+hSZ4NC0aVO++eabCgcSGxtbZCJYYmIiubm5pfbaFhz3+eefFz7etm1bhXqORUTMcuTIkSK/t/r27QtA48aNteSu+J9p02D/fmjW7OzCDSLlUK5qCcnJySQnJ+N0Ojl06FDh46SkJL799lvqV2LFkG7dupGens7SpUsBeP311+nVq1dh70tGRgZ5eXnnHNevXz82btzIunXryM/P580336R3794VjkNEpLpddtllXHfddUyfPp3vvvuOrKwss0MSMce2bfDii8b2yy9DeLi58YhXKlfPbb9+/bBYLFgsFq6//vrC5y0WCzExMUyZMqXigQQEMHXqVMaOHcusWbOw2+28//77ha8PGjSICRMm0L9//yLH1a5dm3HjxnHfffcRERFBWFhYqWOCRUQ8zdKlS/nll1/YsGEDTz31FKdOnaJz586FNcUvvPBCs0MUcT+n06hlm5cHAwfCoEFmRyReqlzJ7fbt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m8MBI0eC3Q5Dh8I115gdkfiZCiW3N954Y+F2bm4uAQHGaaxabUREpFJGjBjBqFGjuOqqq8jNzeWdd95h5cqVRRZ6KE23bt1IT09n6dKlDB48mNdff51evXphs9nIyMggODj4nF7cLl268NZbb9GwYUNCQkJ455136Ny5M1FRUe64RfF1b78NP/0E4eEwZ47Z0YgfqlA2mpGRwTPPPEOvXr3o1KkTO3fupE+fPmzdurWq4xMR8SuDBw/mrbfeIjQ0lO7du3P69Gmef/55Bg8e7NLxAQEBTJ06lYkTJ9KrVy+++uorxo4dCxg1dL/77rtzjrn77ru57rrrWLBgAc888ww1atRg1qxZVXlb4i9OnIAnnjC2J0+GP01uFKkuFeq5nTBhAllZWcycOZNHHnmEGjVqcOeddzJlyhQ+/vjjqo5RRMSvdO3ala5du1b4+P79+/P1118THx9Ply5dCif+rlq1qtj9g4ODefrpp3n66acrfE0RAJ580khwL7wQxowxOxrxUxVKbn/66SeWL19Ow4YNsVqtWCwWbrjhBl577bWqjk9ExK/s2LGDZs2aFdapragGDRrQoEGDKopKxAVr18IbbxjbCxeC6uCLSSo0LKFFixb897//BYwaihaLhd9++40LLrigSoMTEfE3//jHP1TQXTxWVhaMHg1XX238mZV15oX8fBgxwtgeNgx69zYtRpEK9dw+88wz3H///XzwwQdkZmby6KOPkpSUxMKFC6s6PhERvzJkyBD++9//0r17d7NDESli8GD49NOzj7/+Gl59FW64AZZe/qpR/isqCmbONC1GEahAcpuWlsbp06d59tlnycvL49ixY9StW5crrriCGjVquCNGERG/cfHFFzNv3jweeOABbr/9dsLCwgpf69atm4mRiT/7a2L7Zz9/mszpz58hDOD556FevWqMTORcLie3eXl5TJkypXA4QlRUFBaLhdTUVKxWKzt37uSJghmSIiJSIU899RRg1JqdPHly4fMWi4WVK1eaFZb4sayskhNbgJcYS1h+Oo6u3bHed1/1BSZSApeT27lz5/Ldd9/x2muvcfHFFxcukeZwOFi/fj0TJkygVq1aFVqPXEREDCVVNBAxy+OPl/xaf77hVj7EjpUXWizkSdW7Fw/g8t/CL774gkmTJtG7d+8ia/9arVYuvvhinn32WRYtWuSWIEVERMQc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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 23
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:11:27.158296Z",
     "start_time": "2024-09-18T11:11:27.079657Z"
    }
   },
   "cell_type": "code",
   "source": "train_data_user_info = train_data.merge(user_info,on=['user_id'],how='left')",
   "id": "e6182bda8aeba6bf",
   "outputs": [],
   "execution_count": 24
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:11:37.937554Z",
     "start_time": "2024-09-18T11:11:37.419156Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.figure(figsize=(8,8))\n",
    "plt.title('Gender VS Label')\n",
    "ax = sns.countplot(x = 'gender',hue='label',data=train_data_user_info)\n",
    "for p in ax.patches:\n",
    "    height = p.get_height()"
   ],
   "id": "bfe67f937ced26ba",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 800x800 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsUAAAK3CAYAAABtITLSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8+0lEQVR4nO39f5hVdaH3/79mNj8cpIZIwxSwH8p4wBHkdtTUOoqWHo/elaTH6pj2LU9o5THoLjEzCi8FzzlqpdbhNssiNRNC6a5Tat7RD83MNCoB70nT8QfqAQkmYHCzP390Od8mfzE6wx54Px7X1XWx13uttd9772vRk+XaezXUarVaAACgYI31ngAAANSbKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAZ4Ad/+9rczZcqU7LPPPjn11FOzcuXKfn2+X/ziF2lpaenX5/hrM2fOzAEHHJC/vbnpWWedlQMPPLB7+b333pt//ud/zqRJk3LYYYflm9/8Zq+ep6WlJV/72tde8jwXLlyYfffd9yVv/9c6OjrS0tKSjo6OPtkfsH0QxQDP46abbso555yT448/PpdffnmeeOKJfPzjH6/3tPrUIYcckqeeeirLly/vsfyOO+7IQQcdlIaGhjz++OM55ZRT8oY3vCH/+Z//maOOOiqf+9zn8stf/rJOswboe4PqPQGAgeqLX/xiDjnkkJx22mlJksGDB+d973tfli1blr322qvOs+sbb3rTm9LQ0JBf/OIX3a/pkUceycMPP5zTTz89SfJf//VfqVarmTVrVhobG3PAAQfkJz/5SRYuXJi2trZ6Th+gzzhTDPAcVq5cmeXLl+eQQw7pXjZ+/PgkyX333VevafW5kSNHZvz48bnjjju6lz3z54MPPjhJsnr16nR1daWzs7N7nf/4j//IySefvHUnC9CPRDHAc/jDH/6QJNltt926l73iFa/I4sWL8+Y3v7l72fe+970cc8wx2WefffKOd7wjt912W/fYF7/4xZx00kn59a9/neOOOy4TJ07MiSeemIceeqh7nQceeCAnnXRSWltbc+yxx+bee+/tMY9qtZovfvGLectb3pJ99903H/jAB3psnyRTpkzJwoULc9ddd+V973tfjjrqqF691oMPPjh33nln9/XDd9xxR97whjfkta99bZLkLW95S7q6unLKKafk17/+dZK/XCPc12fLf/KTn3S/T1OmTHnOa5Cvu+66HHzwwZk8eXJmzZqVrq6u7rEtea8Ano8oBngOq1atSpIMHz68x/Jx48ZlxIgRSZLbbrst06dPz5FHHpmvfOUrmThxYk499dS0t7d3r//II4/kox/9aKZOnZrPf/7zefTRR/Nv//ZvSf4ScR/+8Ifz1FNP5dJLL80//dM/5ZJLLunxfJdeemmuuuqqfOxjH8vll1+e9evX55RTTsnTTz/dY7277747p512WiZMmJB/+Zd/6dVrPfjgg3tcV3zHHXd0nyVOkn333Tfnn39+/vCHP+TEE0/MBz7wgR6vsS889NBDOf300/PGN74xX/nKV3Lqqadm7ty5ufPOO7vX2bBhQ6644orMnj07n/zkJ7No0aJ84Qtf6B7f0vcK4DnVAHiW73znO7Vx48bVfv7zn9dqtVrtyCOPrI0bN642bty42oIFC2q1Wq32z//8z7XTTjute5tqtVo74IADap///OdrtVqt9oUvfKE2bty42g9+8IPudf73//7ftbe+9a21Wq1W+/GPf1wbN25c7Z577ukeP//882vjxo2r1Wq12oYNG2qtra21r371q93jy5Ytq40bN6522223dS877LDDahMmTKj9+te/fkmvdePGjbVJkybVrrrqqtqjjz5aGzduXO1HP/rRs9ZbvXp17eKLL65NmjSptu+++9buuuuuLX6OcePG9Xgdf+v++++vXX311bW1a9fWarVabd26dbW3vOUttXnz5tVqtVptwYIFPT6PWq1Wu+iii2oTJ06sVavVLX6varVa7aGHHqqNGzeu9tBDD23x/IHtny/aATyHHXfcMUmyfv36JMlll12Wrq6unHrqqd3rrFixIk899dSzfkLtj3/8Y/efd95557ztbW/rfjxy5MjuM5cPPPBABg0alL333rt7vK2trfuygQceeCAbN27MBRdckAsuuOBZz3HggQd2P546dWomTZr0kl7rkCFDst9+++WOO+7IiBEjMnjw4Oy///7PWm/EiBE588wz8/a3vz0nnXRSzj333CxevPglPeffet3rXpeNGzdm3rx5ufPOO/O73/0uGzduzIYNG7rXaWhoyH777df9uLW1NevXr8/KlSvzpz/9aYvfK4DnIooBnsOYMWOSpPu3bN/4xjcmSTZt2tRjvfe85z054YQT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8rvf/a7PJwcAAFtDr6O4paUlN9xwQ49lN9xwg1+fAABgm9XrL9qde+65OfXUU7No0aLstttu6ejoyJ/+9KdcccUV/TE/AADod72O4vHjx+cHP/hB/u///b957LHH8va3vz1///d/n+HDh/fH/AAAoN/1OoqTZPjw4TnmmGP6ei4AAFAXvb6muL8tWrQohx56aPbdd9+ccsop6ejoSJKsWLEiU6dOTVtbW+bOnZtarda9TX+MAQBQjgEVxQ8++GAuueSSXHbZZfk//+f/ZNddd83MmTPT1dWVadOmZcKECVmwYEHa29uzcOHCJOmXMQAAyvKSLp/oL7///e8zceLETJgwIUly3HHH5cwzz8ySJUuybt26zJw5M01NTZk+fXo++9nPZurUqf0y1hvVarVP34NKpdKn+ytdX38+AMC2ozcdMKCieI899sjtt9+e3//+9xkzZkyuvvrqHHzwwVm2bFkmTpyYpqamJH/5Wbj29vYk6Zex3li6dOnLe9F/pampKePHj++z/ZEsX74869evr/c0AIABbsBF8ZFHHpl3vvOdSZLRo0fn29/+dubNm5fRo0d3r9fQ0JDGxsasWbMm69at6/Ox5ubmLZ5za2urs7sDWEtLS72nAADUSbVa3eITmAMqiu++++7ceuut+fa3v503vvGNmTdvXk499dQceOCBGTJkSI91hw4dmg0bNqRSqfT5WG+iuFKpiOIBzGcDAGyJAfVFu+9973v5x3/8x+yzzz7Zcccdc+aZZ6ajoyPNzc1ZtWpVj3U7OzszePDgfhkDAKAsAyqKq9Vqnnzyye7HnZ2d+fOf/5xBgwblnnvu6V7e0dGRrq6uNDc3p7W1tc/HAAAoy4CK4smTJ+emm27K1772tSxevDinn356dtppp5x00klZu3ZtFi1alCSZN29eDjrooFQqlbS1tfX5GAAAZWmoDaA7VtRqtVx22WVZsGBBnnjiiey5556ZPXt29t5779x8882ZMWNGdtxxx1Sr1cyfPz977rlnkvTL2IupVqu5++67M2nSpD4P6fde8t0se3jVi6/I89prt5H55pnuuggAJetNrw2oKH4xK1euzNKlSzN58uSMHDmy38deiCge2EQxANCbXhtQvz7xYkaNGpVRo0ZttTEAAMowoK4pBgCAehDFAAAUTxQDAFA8UQwAQPFEMQAAxRPFAAAUTxQDAFA8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ypQpOeOMMzJ//vysXbs2ixYtSpLMmzcvBx10UCqVStra2vp8DACAsgyoM8W77LJLj8fDhg3Lq171qowcOTKzZ8/OjBkzcuGFF6ZarWb+/PlJkkGDBvX5GAAAZRlQUfy35syZ0/3nI444Ij/84Q+zdOnSTJ48OSNHjuzXMQAAyjGgo/hvjRo1KqNGjdpqYwAAlGFAXVMMAAD1IIoBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHiiGACA4oliAACKJ4oBACieKAYAoHgDLopvvvnmHH744Rk/fnyOP/74tLe3J0lWrFiRqVOnpq2tLXPnzk2tVuvepj/GAAAox4CK4gcffDBnn312ZsyYkSVLlmTXXXfNpz71qXR1dWXatGmZMGFCFixYkPb29ixcuDBJ+mUMAICyDKgobm9vz8c+9rEcffTR2WmnnfLud787v/3tb7NkyZKsW7cuM2fOzNixYzN9+vRcf/31SdIvYwAAlGVQvSfw1w477LAej++///7svvvuWbZsWSZOnJimpqYkSUtLS/dlFf0x1hvVavUlvNLnV6lU+nR/pevrz4eBy7HTdxw3wPaiN3+fDago/mtdXV258sorc8opp+Shhx7K6NGju8caGhrS2NiYNWvWZN26dX0+1tzcvMXzXLp06ct8pf9/TU1NGT9+fJ/tj2T58uVZv359vadBP3Ps9C3HDVCiARvFl1xySYYNG5YTTjghl1xySYYMGdJjfOjQodmwYUMqlUqfj/UmiltbW52hGsBaWlrqPQXY5jhugO1FtVrd4hOYAzKKf/azn+Xaa6/Nddddl8GDB6e5uTn33Xdfj3U6Ozv7baw3KpWKKB7AfDbQe44boEQD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vM29996bUaNG9es8YVvnuIG/eOihh/Lxj388s2bNyh577PGi6zt2tk2imG1OW1tb1q5dm0WLFiVJ5s2bl4MOOiiVSiXr1q3Lpk2bnrXNlClT8qtf/Sq33357nn766Vx55ZU55JBDtvLMYWBy3MDz27BhQz70oQ/liCOOyOGHH57Ozs50dnamVqs5drYzDbUtuesBDDA333xzZsyYkR133DHVajXz58/PnnvumSlTpuTss8/OEUcc8axtvvnNb+aCCy7I8OHDM2zYsFx33XXZaaed6jB7qK+Wlpbccsst3V8EctzA87v55pvz4Q9/+FnLb7nllrzvfe9z7GxHRDHbrJUrV2bp0qWZPHlyRo4cuUXb/PGPf0x7e3v233//DB8+vJ9nCNsHxw28NI6dbYsoBgCgeK4pBgCgeKIYAIDiiWIAAIonigEAKJ4oBgCgeKIYgOe1cOHCnHTSSfWeBkC/E8UAABRPFAMAUDxRDLCNW7ZsWY455pgccMABueCCC3LUUUflG9/4RpYsWZJjjz02++23Xz71qU+lq6srSfLFL34xZ511Vi699NLst99+Oeyww3LnnXd27++yyy7LgQcemLe+9a35/e9/3+O5Fi1alLe97W054IADctFFF+Wv7//U0tKS++67L+eee27233//rF27duu8AQB9QBQDbONmzZqVY489NldddVWuv/76XHDBBdl3331z+umn5+STT87ChQvzu9/9LldccUX3Nj/+8Y/z4IMP5jvf+U4mT56ciy++OElyyy235KqrrsoXv/jFzJ07N4sXL+7e5s4778w555yTs88+O9/4xjdyww035MYbb+wxl3POOSc77rhjLr300jQ1NW2dNwCgD4higG3cvffem7e97W3Za6+9sscee+Thhx/OkiVLMn78+LzrXe/K2LFjc+KJJ+ZHP/pR9zaVSiWzZ8/OmDFj8s53vjOPPvpokuTmm2/Osccem7a2tkyePDnvete7urf5zne+k7e+9a059NBDM27cuPzP//k/e+wz+cvZ4k9+8pPZf//9M2jQoK3zBgD0AX9jAWzjxo4dm7vvvjuvetWr8sADD2SPPfbIL3/5y/z+97/PfvvtlySpVqsZNmxY9zaTJk3K0KFDkySDBw/uXv7444/nwAMP7H48ZsyY/OY3v0mSrFy5Mr/4xS+697lp06a0tLT0mItfqgC2VaIYYBu355575rzzzsunP/3pvPe9781ee+2VXXbZJVOmTMknPvGJJMnmzZuzfv367m2GDx/+nPt69atfnccff7z78TNnkJNkl112yYknnpiTTz45SfL0009n8+bNPbZ3yQSwrXL5BMA27KGHHsovf/nLXHPNNbnpppsyc+bMJMkxxxyTO++8M3/84x+TJF//+te7x17I4YcfnsWLF+euu+7KPffck+uuu6577B3veEduueWWPPnkk6lWq7n44otzySWX9MvrAtjanCkG2Ibttttu2WmnnXLSSSdl7dq1GTRoUN7xjnfkc5/7XObMmZM5c+bkoYceyj777JOLLrroRff3tre9LcuXL8/pp5+eESNG5PDDD+8O6/322y8f/ehH84lPfCJPPPFE3vSmN2X27Nn9/RIBtoqG2l//ng4A25Rvf/vb+a//+q+cd9552WGHHbJs2bL8y7/8S2677bbnvUQCgGdzphhgG3bggQfmu9/9bo455phs3Lgxu+22W8466yxBDNBLzhQDAFA8X7QDAKB4ohgAgOKJYgAAiieKAQAonigGAKB4ohgAgOKJYgAAiieKAQAo3v8HE3vwoUR0ZS4AAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 27
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:11:42.472613Z",
     "start_time": "2024-09-18T11:11:42.092565Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 性别与复购分布\n",
    "repeat_buy = [rate for rate in train_data_user_info.groupby(['gender'])['label'].mean()] \n",
    "\n",
    "plt.figure(figsize=(8,4))\n",
    "\n",
    "ax=plt.subplot(1,2,1)\n",
    "sns.distplot(repeat_buy, fit=stats.norm)\n",
    "ax=plt.subplot(1,2,2)\n",
    "res = stats.probplot(repeat_buy, plot=plt)"
   ],
   "id": "87a771c38d9c5811",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 800x400 with 2 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 28
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:11:51.980660Z",
     "start_time": "2024-09-18T11:11:51.331073Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.figure(figsize=(8,8))\n",
    "plt.title('Age VS Label')\n",
    "ax = sns.countplot(x = 'age_range',hue='label',data=train_data_user_info)"
   ],
   "id": "a7d7523a67891083",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 800x800 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAr4AAAK3CAYAAABjiEy9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAI0lEQVR4nO3deXRU9eH//9fMZCGADlI0iAGVDzAChk0CGuBDiFFcAY2CtVXqsVRA5djEamNBwfARwkcQ69ZPjoIgxaUQgoBWwA0FpCxCU0sSm7KFXQMhCYQJM/f3B1/mZ5oASZglmffzcY7nOPd9b+4775MJTy53ZmyWZVkCAAAAwpw91BMAAAAAgoHwBQAAgBEIXwAAABiB8AUAAIARCF8AAAAYgfAFAACAEQhfAAAAGIHwBQAAgBEIXwAAABiB8AWABnj00UeVlJQU9PPm5ubK5XIpPz+/2vacnBy5XC4VFhZKkkpKSpSenq5+/fqpf//+eu655+R2u+t8ngceeEDjx49v8DyLi4vlcrmUl5fX4K/xU8nJycrJyfHL1wJgLsIXAOrJ4/Fow4YN2r9/v4qKioJ67gEDBkiSNmzYUG37xo0bdemll6pLly7yer0aP3689u/fr9mzZystLU25ubnKzs4O6lwBoLEhfAGgnrZt26aysjJFRUVp3bp1QT33mbj929/+Vm37hg0blJiYKEkqLCzUt99+qz/84Q9KTEzUqFGjlJqayhVTAMYjfAGgntatW6e4uDgNGTJEa9euDfr5BwwYoE2bNsmyLEnSvn37tHfvXt/V4CNHjkg6fbvDGWPGjFFWVlbQ5woAjQnhCwD1tHbtWt+9sxs2bFBVVVW18U8++UQ33XSTEhISNHHiRD377LPq27ev9u7dK0nas2ePxo8fr969e+u///u/9dJLL+nUqVN1Pv+AAQN09OhRFRQUSJLv6u+ZK77x8fFq3bq1MjIytHz5cnm9Xl1++eVKSEjwx7fvs2vXLo0ZM0bXXXedEhMTNWnSJFVWVlbbZ9u2bbrtttsUHx+vhx9+WPv37682/tFHH+mOO+5Qjx49NGLECK1fv96vcwSAnyJ8AaAeysvL9fe//139+vVTQkKCjh8/rq1bt/rG9+zZo/T0dN1///2aNWuW1q1bp4qKCmVnZ6t169Zyu9369a9/rbKyMr322mtKS0vT/Pnz9eqrr9Z5DgkJCYqKivIF79/+9jd16dJFl156qSSpZcuWys7OVnR0tNLT03X77bfryy+/9Os6WJalRx55RD/88INeffVVPf/88/riiy/01ltvVdtv1qxZGj16tF5++WXt2bNHTzzxhG9s/fr1SktL09ChQ/XWW2+pZ8+eGjNmTNDvmwZgDsIXAOrhm2++0alTp9SvXz917txZrVu31tdff+0b/+6773TxxRfroYce0qBBg3Trrbfq6NGj6tOnj2JiYrR8+XLt3btXL7/8shITEzVixAiNGjVKS5curfMcmjVrpuuuu84Xvhs3btTAgQOr7RMfH6+//vWvmjp1qk6cOKFHHnlE77zzjn8WQdKJEyc0evRozZw5UzfccIOSk5PVq1evan8JkKTRo0dr1KhRSk5O1nPPPaetW7f69nn99deVnJysxx9/XAkJCXruuefUsmVLrVixwm/zBICfigj1BACgKTnzYrbk5GTftrVr1+q3v/2tJKljx446evSoNm/erP/6r//Spk2b1LNnT9++hYWFqqqq0g033FDja7vdbkVFRdVpHgMGDNCbb76pAwcOaPfu3b7bHH4qMjJS9957r2699VaNGzdOWVlZGjp0qC677LJ6fc+1ad68uW6++WYtWbJE06dP17Zt21RaWlrjdop+/fr5/r9Hjx6SpJ07d6pXr14qLCzU0aNH5XK5qh2za9euC54fANSG8AWAeli7dq1uv/12jRkzRpL02Wef6dVXX9XRo0fVqlUrXXrppWrbtq1++ctfyuv1qkePHho3bly1r9G2bVv96U9/qvG1IyLq/it54MCBevHFF/XOO+8oKiqqWnC++uqrKiws1B//+EdJp299eOqpp3TPPffoX//6l1/Cd//+/RoxYoQ6duyoW265Rb/5zW/09ddfa/PmzdX2s9lsvv+320//I6PX6/Vtu//++zVy5Mhqx1x00UUXPD8AqA23OgBAHe3du1c7d+5UUlKSunbtqq5du+rWW2+V1+v1vSjrtdde09ChQ7V27Vp9+umn+uCDD3TJJZf4vkbnzp31448/KjY21vc1jh49qrlz59brBW7XXHONfvazn2n+/Pm67rrr1KxZM9+Yw+HQV199pePHj/u2HT16VJLUrl27C1yF01auXKmKigrNmzdPo0ePVt++fWu9Urtlyxbf///jH/+QJHXo0EHS6bU4fPiwbx26du2q1atX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ZqbS09M1Y8YMeTweLViw4PQkIyL8PgYAAACzhOztzM6YPn267/9TUlK0cuVK5eXlqU+fPmrdunVAxwAAAGCOkIfvf4qNjVVsbGzQxgAAAGCGkH5kMQAAABAshC8AAACMQPgCAADACIQvAAAAjED4AgAAwAiELwAAAIxA+AIAAMAIhC8AAACMQPgCAADACIQvAAAAjED4AgAAwAiELwAAAIxA+AIAAMAIhC8AAACMQPgCAADACIQvAAAAjED4AgAAwAiELwAAAIxA+AIAAMAIhC8AAACMQPgCAADACIQvAAAAjED4AgAAwAiELwAAAIxA+AIAAMAIhC8AAACMQPgCAADACIQvAAAAjED4AgAAwAh+C1/LsuTxePz15QAAAAC/alD4Tp48WW63u9q2b775RrfddptfJgUAAAD4W4PC9/33368Rvp06ddL+/fv9MikAAADA3yLqs3Nubq6k07c1LFu2TDExMb7H69at07XXXuv3CQIAAAD+UK/wXbx4sSTJZrNp2bJlcjgckiS73a4rr7xSs2bN8v8MAQAAAD+oV/i+8847kqRrrrlG2dnZatmyZUAmBQAAAPhbg+7xHTVqlKKiovw9FwAAACBg6nXF94wpU6bI7XZr//79siyr2li7du38MjEAAADAnxoUvgsWLNCMGTNUVVVVLXxtNpu2b9/ut8kBAAAA/tKg8P3jH/+o3/3ud7rvvvsUGRnp7zkBAAAAftege3xbtmypG264gegFAABAk9Gg8J04caImTZqkwsJCf88HAAAACIgG3eowdepUHT16VMOHD9fFF19c7W3NPv30U79NDgAAAPCXBoXv9OnT/T0PAAAAIKAaFL5xcXH+ngcAAAAQUA0K3+TkZNlsNt9bmdlsNt8Yb2cGAACAxqhB4Zufn+/7/8rKSuXl5enVV1/V+PHj/TYxAAAAwJ8a9K4OP9WsWTMlJCTojTfeUFZWlj/mBAAAAPjdBYfvGT/++KMOHTrkry8HAAAA+NUF3eN7htfr1eHDh/Xggw/6bWIAAACAP/nl7cxsNpvatm2r9u3b+2VSAAAAgL816FaHfv36qV+/fmrWrJmOHDmi6OhoohcAAACNWoOu+B48eFDjxo3Trl27dNlll+nQoUO66qqr9Prrrys2NtbfcwQAAAAuWIOu+D777LO69tprtX79en388cdat26dunfvrkmTJvl7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+2rIkCHatGmT77jly5drwIABuvnmm5WVlaUbbrhB+fn5sixLb775poYMGaKBAwdq3rx5/loyAGgwwhcAQsTr9WrChAm65ZZbtHr1avXu3VszZsyQJE2ePFl33nmn5s2bp0WLFmnatGkaNmyYdu/erfHjx2v06NHKycnRd999pzfffLPO53z55Zd16NAhzZw5U+3bt5ckFRQUKDMzU9OmTdPHH3+skpISLVy40HfMl19+qd27d2vJkiXq06ePXnrpJUnSsWPHNGnSJM2aNUuPPvqoPvzwQ3344Ye6+uqrtXTpUmVnZ2vWrFl65ZVXNHv27GrBDAChQPgCQAgtXbpUDz30kPbt26eKigrt3LlTkrR9+3bdfPPNuuaaa9SpUyft3btXTqdTy5cvV7du3XTPPfeoQ4cOuu+++/TZZ5/V+XwtW7bU9OnTdf3116tFixaSpKuuukpff/214uPjVVRUJMuyfPOQJIfDoczMTLVv31533XWX9u/fL0nauXOnWrRoof79++vWW2/VDz/8IMuyFB0drdzcXI0cOVK9e/dW7969NWTIkHrNEwACISLUEwAAU9ntds2dO1eLFi1SXFycrrjiCnm9XklShw4dtHXrVl1yySXauXOnOnXqJEk6ePCg/vnPf6pv376SJI/Ho+bNm9f5nA888ECNbZWVlZo4caI2btyorl27yuFw+OYhSb169VJ0dLQkKTIy0re9Xbt2OnbsmHbv3q0DBw6oVatWatOmjW+e3377rd577z1J0smTJ5WSklKf5QEAvyN8ASBENmzYoHfffVerVq1SmzZt9OWXX+q7776TJHXu3FlTp07VpEmT9Itf/ELXXHONJKlt27ZKTk7WU089Jen07RInTpyo8zljYmJqbJs/f75KSkq0du1aRUVFacaMGSopKfGNt2zZstavFR0drY4dO+r222+Xw+HQCy+8ILvd7pvnPffco6FDh0qS3G53tWgGgFDgVgcACJHjx49LksrKyrR582ZNmzZNlmVpz5492rhxoy+KMzIyfMfccccd2rRpk3bt2iXpdLT+dPxC5nHkyBEtW7ZM7777rizLOu9xn3zyiWJjY5Wbm6svvvhCt912m29sxIgRWrFihSoqKlRZWalnn3222n3DABAKXPEFgBAZNGiQkpOTdffddysuLk4jR47UzJkzFRMTozZt2uiBBx5QWVmZIiIiNGLECD3//PNq3769pk+frunTp2vPnj3q0aOHZs2adUHzePDBB7Vlyxbdcsst6tWrl+655x5t2LDhvMcNGDBAWVlZuu+++1RWVian06knn3xS9957r4YNG6ZDhw7pkUceUXl5uVJSUjRhwoQLmicAXCibVZe/1gMAguYvf/mL/vrXv2rq1Klq1qyZ8vPz9Zvf/Ebr168/620HofC73/1O7dq10wMPPCCbzabc3FytWLFCOTk5oZ4aANSKK74A0Mhcf/31Wr58ue644w6dPHlSV1xxhX7/+9+fM3o3bdqksWPH1jqWmpp6wbdD1ObOO+/Uiy++qLfffluS5HK59PTTT/v9PADgL1zxBYAwcPLkSR0+fLjWsRYtWuiSSy4J8owAoPEhfAEAAGAE3tUBAAAARiB8AQAAYATCFwAAAEYgfAEAAGAEwhcAAABGIHwBAABgBMIXAAAARvj/ADomLZT8S/S2AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 30
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:11:57.858875Z",
     "start_time": "2024-09-18T11:11:57.612620Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 年龄与复购分布\n",
    "repeat_buy = [rate for rate in train_data_user_info.groupby(['age_range'])['label'].mean()] \n",
    "\n",
    "plt.figure(figsize=(8,4))\n",
    "\n",
    "ax=plt.subplot(1,2,1)\n",
    "sns.distplot(repeat_buy, fit=stats.norm)\n",
    "ax=plt.subplot(1,2,2)\n",
    "res = stats.probplot(repeat_buy, plot=plt)"
   ],
   "id": "cf7b7214ec152230",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 800x400 with 2 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 31
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:05.639173Z",
     "start_time": "2024-09-18T11:11:59.891891Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 训练集不同时间段的复购用户\n",
    "all_data_1 = user_log.merge(train_data,on=['user_id'],how='left')"
   ],
   "id": "f3e17c06024ab412",
   "outputs": [],
   "execution_count": 32
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:07.697490Z",
     "start_time": "2024-09-18T11:12:05.641159Z"
    }
   },
   "cell_type": "code",
   "source": "all_data_1[all_data_1['label'].notnull()].head()",
   "id": "723f23849f912b51",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "     user_id  item_id  cat_id  seller_id  brand_id  time_stamp  action_type  \\\n",
       "419   234512   146770    1173        693    3186.0         625            0   \n",
       "420   234512   146770    1173        693    3186.0         625            0   \n",
       "421   234512  1106076     992       3783    8164.0        1016            0   \n",
       "422   234512  1106076     992       3783    8164.0        1016            0   \n",
       "423   234512   866567    1198        693    3186.0         625            0   \n",
       "\n",
       "     merchant_id  label  \n",
       "419       3018.0    0.0  \n",
       "420       3271.0    0.0  \n",
       "421       3018.0    0.0  \n",
       "422       3271.0    0.0  \n",
       "423       3018.0    0.0  "
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>cat_id</th>\n",
       "      <th>seller_id</th>\n",
       "      <th>brand_id</th>\n",
       "      <th>time_stamp</th>\n",
       "      <th>action_type</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>419</th>\n",
       "      <td>234512</td>\n",
       "      <td>146770</td>\n",
       "      <td>1173</td>\n",
       "      <td>693</td>\n",
       "      <td>3186.0</td>\n",
       "      <td>625</td>\n",
       "      <td>0</td>\n",
       "      <td>3018.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>420</th>\n",
       "      <td>234512</td>\n",
       "      <td>146770</td>\n",
       "      <td>1173</td>\n",
       "      <td>693</td>\n",
       "      <td>3186.0</td>\n",
       "      <td>625</td>\n",
       "      <td>0</td>\n",
       "      <td>3271.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>421</th>\n",
       "      <td>234512</td>\n",
       "      <td>1106076</td>\n",
       "      <td>992</td>\n",
       "      <td>3783</td>\n",
       "      <td>8164.0</td>\n",
       "      <td>1016</td>\n",
       "      <td>0</td>\n",
       "      <td>3018.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>422</th>\n",
       "      <td>234512</td>\n",
       "      <td>1106076</td>\n",
       "      <td>992</td>\n",
       "      <td>3783</td>\n",
       "      <td>8164.0</td>\n",
       "      <td>1016</td>\n",
       "      <td>0</td>\n",
       "      <td>3271.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>423</th>\n",
       "      <td>234512</td>\n",
       "      <td>866567</td>\n",
       "      <td>1198</td>\n",
       "      <td>693</td>\n",
       "      <td>3186.0</td>\n",
       "      <td>625</td>\n",
       "      <td>0</td>\n",
       "      <td>3018.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 33
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:08.994863Z",
     "start_time": "2024-09-18T11:12:07.698489Z"
    }
   },
   "cell_type": "code",
   "source": "all_data_2=all_data_1[all_data_1['label'].notnull()]",
   "id": "c377db4a74c84ed0",
   "outputs": [],
   "execution_count": 34
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:09.530413Z",
     "start_time": "2024-09-18T11:12:08.995867Z"
    }
   },
   "cell_type": "code",
   "source": [
    "all_data_2_sum=all_data_2.groupby(['time_stamp'])['label'].sum().reset_index()\n",
    "all_data_2_sum.head()"
   ],
   "id": "93a5506825a0fc41",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   time_stamp   label\n",
       "0         511   943.0\n",
       "1         512   975.0\n",
       "2         513  1221.0\n",
       "3         514  1170.0\n",
       "4         515  1260.0"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time_stamp</th>\n",
       "      <th>label</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>511</td>\n",
       "      <td>943.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>512</td>\n",
       "      <td>975.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>513</td>\n",
       "      <td>1221.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>514</td>\n",
       "      <td>1170.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>515</td>\n",
       "      <td>1260.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 35
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:09.535531Z",
     "start_time": "2024-09-18T11:12:09.532408Z"
    }
   },
   "cell_type": "code",
   "source": [
    "all_data_2_sum['time_stamp'] = all_data_2_sum['time_stamp'].astype(str)\n",
    "all_data_2_sum['label'] = all_data_2_sum['label'].astype(int)\n"
   ],
   "id": "54c4a01c7d48478d",
   "outputs": [],
   "execution_count": 36
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:09.541714Z",
     "start_time": "2024-09-18T11:12:09.536529Z"
    }
   },
   "cell_type": "code",
   "source": [
    "a=[]\n",
    "for i in range(len(all_data_2_sum)):\n",
    "    if len(all_data_2_sum['time_stamp'][i])==3:\n",
    "        a.append(all_data_2_sum['time_stamp'][i][0])\n",
    "    else:\n",
    "        a.append(all_data_2_sum['time_stamp'][i][0:2])"
   ],
   "id": "bf49d856286610e8",
   "outputs": [],
   "execution_count": 37
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:09.546557Z",
     "start_time": "2024-09-18T11:12:09.542718Z"
    }
   },
   "cell_type": "code",
   "source": [
    "all_data_2_sum['month']=a\n",
    "all_data_2_sum=all_data_2_sum.astype(int)"
   ],
   "id": "cadccce96030c531",
   "outputs": [],
   "execution_count": 38
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:12.544590Z",
     "start_time": "2024-09-18T11:12:11.703210Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.figure(figsize=(20,8))\n",
    "c=5\n",
    "for i in range(1,8):\n",
    "    \n",
    "    plt.subplot(3, 3, i)\n",
    "    b=all_data_2_sum[all_data_2_sum[\"month\"]==c]\n",
    "    plt.plot(b['time_stamp'], b['label'], linewidth=1, color=\"orange\", marker=\"o\",label=\"Mean value\")\n",
    "  \n",
    "    c+=1"
   ],
   "id": "517b0e7870f44c16",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 2000x800 with 7 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABlUAAAKRCAYAAADNpi+SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzde3xU9Z3/8dfM5MIkkEAghEDCHUEwgkjUoliQ2FprEcG61Xa3trVK3bYq9GeXeqk2tla3rbjb7rbU2tZS61JNqb2qIAjeEQUjyMWEQIKQBAMhkwshM/P745vJfZKZydzn/Xw8wiHne+bM95yZJGe+n/P9fCxut9uNiIiIiIiIiIiIiIiI9Msa6Q6IiIiIiIiIiIiIiIjEAgVVREREREREREREREREfKCgioiIiIiIiIiIiIiIiA8UVBEREREREREREREREfGBgioiIiIiIiIiIiIiIiI+UFBFRERERERERERERETEBwqqiIiIiIiIiIiIiIiI+CAp0h2IBJfLRVtbG1arFYvFEunuiIiIRAW3243L5SIpKQmrVfddhJKuRURERHrTtUj46FpERESkN1+vRRIyqNLW1kZpaWmkuyEiIhKVCgoKSElJiXQ34pquRURERLzTtUjo6VpERETEu4GuRRIyqOKJMs2cOTMuLtScTielpaUUFBRgs9ki3Z1BiadjAR1PtNPxRK94OhaInePx9FN3hoae5xz3fE/EynslUnR+vNO56Z/Oj3c6N97p3PQvFOdH1yLh4+1aBPTe74vOSW86J73pnPSmc9Kbzklv0XROfL0WScigimdqq81mi/gLFUzxdDzxdCyg44l2Op7oFU/HArFzPEoBEXoDXYvEynslUnR+vNO56Z/Oj3c6N97p3PQvFOdH1yKh58u4iN77vemc9KZz0pvOSW86J73pnPQWTedkoGsR3f4hIiIiIiIiIiIiIiLig4ScqSIiccrlhNpt0HwU7LmQvQCs0RHhFhEREZEEoWtSERGR8NPfXwkjBVVEJD5UlsCO26CpqnNdWh6c/yjkLwt8v/qjLCIiIiK+CtU1qYiIiHinv78SZkr/JSKxr7IEtl3b/Y8nQNMRs76yJPD9PjsRNi2CV28wy2cnBr4/EREREYlfobomFREREe/091ciQEEVEYkclxOqt0DFH8zS5QxsHztuA9x9NLav23G7//vWH2URERER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dLJu3TrApAgLpE1E/KTfbyLiJwVVBisUHyj1ITWxBPP1DmbdFxERERERiW/+fhbR541BmTNnDk899VSv9UVFRTz//POUlpYyd+5csrKyBt0mIn7S7zcR8YOCKiLxRrOdREREREQkVNo/bzirt3Bo7+tMmHERtmitsRlDcnJyyMnJCWqbiPhJ4yki4iMFVUTikWY7iYiIiIhIqEQi7aCISDhoPEVEfJCQQRW32+RGdDqdOJ3OCPdm8DzHoGOJPjqe6KbjiV7xdCwQO8fj6Z/n76SETtdrka5i5b0SKTo/3unc9E/nxzudG+90bvoXivOja5Hw8XYt0nWd3vuddE560znpTeekN52T3nROeoumc+LrtYjFnYBXK62trZSWlka6GyIiIlGpoKCAlJSUSHcjrulaRERExDtdi4SerkVERES8G+haJCGDKi6Xi7a2NqxWKxaLJdLdERERiQputxuXy0VSUhJWqzXS3YlruhYRERHpTdci4aNrERERkd58vRZJyKCKiIiIiIiIiIiIiIiIv3Trh4iIiIiIiIiIiIiIiA8UVBEREREREREREREREfGBgioiIiIiIiIiIiIiIiI+UFBFRERERERERERERETEBwqqiIiIiIiIiIiIiIiI+EBBFRERERERERERERERER8oqCIiIiIiIiIiIiIiIuIDBVVEREQG6cSJE7z99tvU1dVFuisiIiIiIadrHxEREQmGWL2miNmgSnFxMdOnT+/4uvzyyzvaTpw4wWWXXUZVVVW3x+zfv5/ly5dTWFjIQw89hNvt9um53nzzTT71qU9x4f9n787jo6ru/4+/ZiYJJIQEEAhLwqYQFiOLxAVEWeJSaxFFbW377d5Kba016bctLa6pWmxt8dvvr/1+qV/bWmvVylKtWlEEwR0XIKIkENaEVQmQCYSQmfv74ySBZJbMTGaf9/PxwDH33HvnzGfuzNx7zzmfc/75/OlPfwrr64DQXsvLL7/MrFmzGDt2LNdffz3V1dUBPde8efPaPdfXvva1cL4UILTX428bfyL93nRWN2+vZ+nSpe3Wb/23dOnSTp8rlu+Pv2MqXj87ob6eeP38hPJaEvGz4+v1JOpn57nnnuOyyy7jnnvuYcaMGTz33HNt28TzZ0di69e//jXz5s1r+9vfsRLqcZTIgolPqN+DiapjbCD8576JLJj4pPqxE4lzv0QV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Z6ez15Nonx3Lsqw1a9ZYn/nMZ6yJEydat9xyi/Xpp5+2bRPPnx2JjQ8++MD6/Oc/b51zzjnWzJkz244Bf8eKv7JkE0p8OvudTha+YtMq2HPfZBNKfFL52OnKuV8yCSU2qXLcWJbvz1Wo5z4SP3ydc6fy+UgoMUn27wN/12aWlZrnHqHEJBWPk1Q/zwglJql4nFhWYp9T2CzrtO7BKWD//v1UVFQwadIk+vTpE/B2O3fupLq6mvPOO4/s7OwI1lCCpfcmOvTZST56b6JDnx0JlL9jJdTjKJkoBqFR3CRUOnYkVDp2EpvORzyl6usOleIlgdBxIoGI5+Mk5RpVREREREREREREREREQpGQc6qIiIiIiIiIiIiIiIhEmxpVREREREREREREREREAqBGFRERERERERERERERkQCoUUVERERERERERERERCQAalQREREREREREREREREJgBpVREREREREREREREREAqBGFRERERERERERERERkQCoUUVERERERERERERERCQAalQREREREREREREREREJgBpVREREREREREREREREAqBGFRERERERERERERERkQCoUUVEREREREREJEzq6up4//33OXToUKyrIiIiIhGgRhURERERERERkTB47rnnuOyyy7jnnnuYMWMGzz33HABVVVXMnTuX4uJiFi5ciGVZbdtEokxEREQix2al4K+u2+2mubkZu92OzWaLdXVERETigmVZuN1u0tLSsNvV7yKSdC4iIiLiKdHPRY4ePcpll13Go48+yqhRo1i+fDkPPfQQL774IldccQUXXXQR3/rWt/jFL37B5Zdfzty5c2lqagp7WSB0LiIiIuIp0HORtCjWKW40NzdTUVER62qIiIjEpaKiIjIyMmJdjaSmcxERERHfEvVcpKGhgZ/97GeMGjUKgNGjR3PkyBHWrFmD0+lk/vz5ZGZmUlpayt13383cuXMjUhYInYuIiIj41tm5SEo2qrS2MhUVFeFwONqVuVwuKioqvJalKsXEk2LiSTHxpJh4Ukw8xVNMWuuSiD1DE42vc5F4Oh7ikeLjm2Ljn+Ljm2Ljm2LjXyTik+jnIgMHDmT27NkAnDx5kkceeYTLLruMzZs3M378eDIzMwEoLCykuroaICJlgUjUGIuIiERDZ7+TKdmo0jq01eFw+Dz581eWqhQTT4qJJ8XEk2Li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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 39
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:14.591289Z",
     "start_time": "2024-09-18T11:12:14.458706Z"
    }
   },
   "cell_type": "code",
   "source": [
    "c=all_data_2_sum.groupby(['month'])['label'].sum().reset_index()\n",
    "plt.plot(c['month'], c['label'], linewidth=1, color=\"orange\", marker=\"o\",label=\"Mean value\")"
   ],
   "id": "754670687ab69598",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x22881445b50>]"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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32LFihVUVFSEHS1uHO2XaE1NDZMmTWLw4MHMnTuXkpISZyaByZMnc8kll8T8fGtJuSLy1ltvEY1GGT9+PEOGDOHLX/4y5eXlYceKW3/6059YvXo1ubm5LF68mH379oUdKSHs3buXhx56iBtvvDHsKHFn4MCBLFu2jDfeeINdu3bxxz/+kXPPPTfsWHGpoqKCPn36HHx84H4dGRlxf+P0VnO0X6JLliyhsrKSqVOn0q9fPyZPnsycOXNCShg/pk2bxrXXXhvz860l5YpISUkJp5xyCr/4xS948sknyczM5I477gg7VlyqqqpixowZ5Ofns2nTJmbNmsW//uu/snfv3rCjxb3HH3+coUOHkpubG3aUuDNw4EAuuugirrzySs466yxWrlzJt7/97bBjxaVTTz2VZ5999uCywrx58xgyZAidOnUKOVn8ONov0dWrVzN06FDatWsHwKBBgygpKQkjXlxpaHY27FnblCsi48aN409/+hNDhgwhLy+P//zP/+SFF16gsrIy7Ghx5+mnn2bPnj08+OCD3HLLLTzwwAPs3LmT+fPnhx0t7j3yyCNcc801YceIS3//+99ZvHgxjz76KK+99hqXXXYZN9xwg2v4R3H99dezb98+JkyYwDXXXMN9993HF7/4xbBjxZWj/RKtrKw87B8BaWlppKens2PHjtaMphilXBH5qOzsbOrr69myZUvYUeLOpk2bGDJkCJ07dwaC6eBBgwZ5hsNxlJaWsm7dOkaOHBl2lLi0YMECLr30UoYMGUKHDh34+te/TllZGatXrw47Wtzp3LkzjzzyCDNmzOBjH/sYAwYM4PLLLw87VtyLRCK0adPmsOeysrKorq4OKZGOJeWKyE9/+lMWLFhw8HFxcTHp6en07t07xFTxqVevXkcsw5SXlx+2Zq0j/fWvf2X06NFkZmaGHSUu1dXVsW3btoOPq6qq2L17N3V1dSGmim89evTg6aefZsqUKUQikbDjxL2cnJwjTnOuqqryezJOpVwROfXUU5kxYwbLly/npZdeYtq0aVx55ZUH1xL1odGjR1NSUkJRURGbNm3ioYce4s0332TUqFFhR4trS5cu5Zxzzgk7RtwaNmwYTz/9NP/7v//L448/zs0330y3bt0YNGhQ2NHi1u9//3sGDBjA2LFjw46SEAoKCli5cuXBx2VlZdTU1JCTkxNiKjUk5Q69Hj9+PCUlJdx888106NCBsWPHMnny5LBjxaXOnTtz//3387Of/Yyf/exndOvWjXvuuccDMI+hurqalStX8sMf/jDsKHHrkksu4b333uPBBx9k69atnHLKKfzqV7/yX6sN2LlzJ7/73e+47777wo6SMAoLC9m1axfz589n/PjxzJw5k5EjRzqbFKfSoh4hJklKcIMGDeLZZ589+A+lZ555hilTptChQwfq6up4+OGHOeWUU0JOqaOxiEiSktLmzZspLi5m2LBhdO3aNew4aoBFRJIkhSblDlaVJEnxwyIiSZJCYxGRJEmhsYhIkqTQWEQkSVJoLCKSJCk0FhFJkhQai4gkSQqNRUSSJIXm/wGe9KZUPs8y+AAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 40
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "**特征工程**",
   "id": "2ce397add1e5547d"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:12:57.605601Z",
     "start_time": "2024-09-18T13:12:55.623507Z"
    }
   },
   "cell_type": "code",
   "source": [
    "del test_data['prob']\n",
    "train_data['target'] = 1\n",
    "test_data['target']=-1\n",
    "all_data = train_data.append(test_data)\n",
    "all_data = all_data.merge(user_info,on=['user_id'],how='left')\n",
    "del train_data, test_data, user_info\n",
    "gc.collect()"
   ],
   "id": "13a0070afbfd7c1f",
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'prob'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mKeyError\u001B[0m                                  Traceback (most recent call last)",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\core\\indexes\\base.py:3802\u001B[0m, in \u001B[0;36mIndex.get_loc\u001B[1;34m(self, key, method, tolerance)\u001B[0m\n\u001B[0;32m   3801\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m-> 3802\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_engine\u001B[38;5;241m.\u001B[39mget_loc(casted_key)\n\u001B[0;32m   3803\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m \u001B[38;5;28;01mas\u001B[39;00m err:\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\_libs\\index.pyx:138\u001B[0m, in \u001B[0;36mpandas._libs.index.IndexEngine.get_loc\u001B[1;34m()\u001B[0m\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\_libs\\index.pyx:165\u001B[0m, in \u001B[0;36mpandas._libs.index.IndexEngine.get_loc\u001B[1;34m()\u001B[0m\n",
      "File \u001B[1;32mpandas\\_libs\\hashtable_class_helper.pxi:5745\u001B[0m, in \u001B[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001B[1;34m()\u001B[0m\n",
      "File \u001B[1;32mpandas\\_libs\\hashtable_class_helper.pxi:5753\u001B[0m, in \u001B[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001B[1;34m()\u001B[0m\n",
      "\u001B[1;31mKeyError\u001B[0m: 'prob'",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001B[1;31mKeyError\u001B[0m                                  Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[96], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m \u001B[38;5;28;01mdel\u001B[39;00m test_data[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mprob\u001B[39m\u001B[38;5;124m'\u001B[39m]\n\u001B[0;32m      2\u001B[0m train_data[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mtarget\u001B[39m\u001B[38;5;124m'\u001B[39m] \u001B[38;5;241m=\u001B[39m \u001B[38;5;241m1\u001B[39m\n\u001B[0;32m      3\u001B[0m test_data[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mtarget\u001B[39m\u001B[38;5;124m'\u001B[39m]\u001B[38;5;241m=\u001B[39m\u001B[38;5;241m-\u001B[39m\u001B[38;5;241m1\u001B[39m\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\core\\generic.py:4243\u001B[0m, in \u001B[0;36mNDFrame.__delitem__\u001B[1;34m(self, key)\u001B[0m\n\u001B[0;32m   4238\u001B[0m             deleted \u001B[38;5;241m=\u001B[39m \u001B[38;5;28;01mTrue\u001B[39;00m\n\u001B[0;32m   4239\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;129;01mnot\u001B[39;00m deleted:\n\u001B[0;32m   4240\u001B[0m     \u001B[38;5;66;03m# If the above loop ran and didn't delete anything because\u001B[39;00m\n\u001B[0;32m   4241\u001B[0m     \u001B[38;5;66;03m# there was no match, this call should raise the appropriate\u001B[39;00m\n\u001B[0;32m   4242\u001B[0m     \u001B[38;5;66;03m# exception:\u001B[39;00m\n\u001B[1;32m-> 4243\u001B[0m     loc \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39maxes[\u001B[38;5;241m-\u001B[39m\u001B[38;5;241m1\u001B[39m]\u001B[38;5;241m.\u001B[39mget_loc(key)\n\u001B[0;32m   4244\u001B[0m     \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_mgr \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_mgr\u001B[38;5;241m.\u001B[39midelete(loc)\n\u001B[0;32m   4246\u001B[0m \u001B[38;5;66;03m# delete from the caches\u001B[39;00m\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\core\\indexes\\base.py:3804\u001B[0m, in \u001B[0;36mIndex.get_loc\u001B[1;34m(self, key, method, tolerance)\u001B[0m\n\u001B[0;32m   3802\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_engine\u001B[38;5;241m.\u001B[39mget_loc(casted_key)\n\u001B[0;32m   3803\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m \u001B[38;5;28;01mas\u001B[39;00m err:\n\u001B[1;32m-> 3804\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m(key) \u001B[38;5;28;01mfrom\u001B[39;00m \u001B[38;5;21;01merr\u001B[39;00m\n\u001B[0;32m   3805\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mTypeError\u001B[39;00m:\n\u001B[0;32m   3806\u001B[0m     \u001B[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001B[39;00m\n\u001B[0;32m   3807\u001B[0m     \u001B[38;5;66;03m#  InvalidIndexError. Otherwise we fall through and re-raise\u001B[39;00m\n\u001B[0;32m   3808\u001B[0m     \u001B[38;5;66;03m#  the TypeError.\u001B[39;00m\n\u001B[0;32m   3809\u001B[0m     \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_check_indexing_error(key)\n",
      "\u001B[1;31mKeyError\u001B[0m: 'prob'"
     ]
    }
   ],
   "execution_count": 96
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:20.607022Z",
     "start_time": "2024-09-18T11:12:20.599712Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.head()",
   "id": "3f5869673e488daa",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender\n",
       "0    34176         3906    0.0       1        6.0     0.0\n",
       "1    34176          121    0.0       1        6.0     0.0\n",
       "2    34176         4356    1.0       1        6.0     0.0\n",
       "3    34176         2217    0.0       1        6.0     0.0\n",
       "4   230784         4818    0.0       1        0.0     0.0"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 42
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:21.848866Z",
     "start_time": "2024-09-18T11:12:21.824387Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.dropna(subset=['age_range','gender'],inplace=True)",
   "id": "76f76bf2c6a9cfb1",
   "outputs": [],
   "execution_count": 43
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:22.854130Z",
     "start_time": "2024-09-18T11:12:22.844407Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.isnull().sum()",
   "id": "6e3d3fca4956f17e",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id             0\n",
       "merchant_id         0\n",
       "label          257626\n",
       "target              0\n",
       "age_range           0\n",
       "gender              0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 44
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:24.695487Z",
     "start_time": "2024-09-18T11:12:23.813541Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 用户店铺数\n",
    "sell= user_log.groupby(['user_id'])['seller_id'].count().reset_index()\n",
    "\n",
    "all_data = all_data.merge(sell,on=['user_id'],how='inner')\n",
    "all_data.rename(columns={'seller_id':'sell_sum'},inplace=True)\n",
    "all_data.head()"
   ],
   "id": "83127acc8d8fca27",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender  sell_sum\n",
       "0    34176         3906    0.0       1        6.0     0.0       451\n",
       "1    34176          121    0.0       1        6.0     0.0       451\n",
       "2    34176         4356    1.0       1        6.0     0.0       451\n",
       "3    34176         2217    0.0       1        6.0     0.0       451\n",
       "4   230784         4818    0.0       1        0.0     0.0        54"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 45
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:12:26.108127Z",
     "start_time": "2024-09-18T11:12:26.103221Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def nunique_k(data,sigle_name,new_name_1):\n",
    "    data1=user_log.groupby(['user_id'])[sigle_name].nunique().reset_index()\n",
    "    \n",
    "    data_union=data.merge(data1,on=['user_id'],how='inner')\n",
    "    data_union.rename(columns={sigle_name:new_name_1},inplace=True)\n",
    "    return data_union\n",
    "    "
   ],
   "id": "acf1c65cbf597c59",
   "outputs": [],
   "execution_count": 46
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:13:19.388326Z",
     "start_time": "2024-09-18T11:12:28.414099Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 不同店铺个数\n",
    "all_data=nunique_k(all_data,'seller_id','seller_id_unique')"
   ],
   "id": "bfcbeb734eda38bb",
   "outputs": [],
   "execution_count": 47
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:14:02.343110Z",
     "start_time": "2024-09-18T11:13:19.389325Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 不同品类个数\n",
    "all_data=nunique_k(all_data,'cat_id','cat_id_unique')"
   ],
   "id": "5be5f2accd7d709e",
   "outputs": [],
   "execution_count": 48
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:14:54.938129Z",
     "start_time": "2024-09-18T11:14:02.344102Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 不同品牌个数\n",
    "all_data=nunique_k(all_data,'brand_id','brand_id_unique')"
   ],
   "id": "3c13e637b975ba1f",
   "outputs": [],
   "execution_count": 49
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:16:19.015153Z",
     "start_time": "2024-09-18T11:14:54.939120Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 不同商品个数\n",
    "all_data=nunique_k(all_data,'item_id','item_id_unique')"
   ],
   "id": "2df42b40dd8f67be",
   "outputs": [],
   "execution_count": 50
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:16:46.131542Z",
     "start_time": "2024-09-18T11:16:19.017130Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 活跃天数\n",
    "all_data=nunique_k(all_data,'time_stamp','time_stamp_unique')"
   ],
   "id": "4a7889dc12a330d",
   "outputs": [],
   "execution_count": 51
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:16:57.524680Z",
     "start_time": "2024-09-18T11:16:46.132542Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 不用行为种数\n",
    "all_data=nunique_k(all_data,'action_type','action_type_unique')"
   ],
   "id": "d70aa0f97903ecee",
   "outputs": [],
   "execution_count": 52
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:16:57.533751Z",
     "start_time": "2024-09-18T11:16:57.525679Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.head()",
   "id": "1fa92b24e15ff60",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender  sell_sum  \\\n",
       "0    34176         3906    0.0       1        6.0     0.0       451   \n",
       "1    34176          121    0.0       1        6.0     0.0       451   \n",
       "2    34176         4356    1.0       1        6.0     0.0       451   \n",
       "3    34176         2217    0.0       1        6.0     0.0       451   \n",
       "4   230784         4818    0.0       1        0.0     0.0        54   \n",
       "\n",
       "   seller_id_unique  cat_id_unique  brand_id_unique  item_id_unique  \\\n",
       "0               109             45              106             256   \n",
       "1               109             45              106             256   \n",
       "2               109             45              106             256   \n",
       "3               109             45              106             256   \n",
       "4                20             17               19              31   \n",
       "\n",
       "   time_stamp_unique  action_type_unique  \n",
       "0                 47                   3  \n",
       "1                 47                   3  \n",
       "2                 47                   3  \n",
       "3                 47                   3  \n",
       "4                 16                   2  "
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>time_stamp_unique</th>\n",
       "      <th>action_type_unique</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>31</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 53
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:16:57.541260Z",
     "start_time": "2024-09-18T11:16:57.534736Z"
    }
   },
   "cell_type": "code",
   "source": "user_log.head()",
   "id": "68eaf55c064a2998",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  item_id  cat_id  seller_id  brand_id  time_stamp  action_type\n",
       "0   328862   323294     833       2882    2660.0         829            0\n",
       "1   328862   844400    1271       2882    2660.0         829            0\n",
       "2   328862   575153    1271       2882    2660.0         829            0\n",
       "3   328862   996875    1271       2882    2660.0         829            0\n",
       "4   328862  1086186    1271       1253    1049.0         829            0"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>cat_id</th>\n",
       "      <th>seller_id</th>\n",
       "      <th>brand_id</th>\n",
       "      <th>time_stamp</th>\n",
       "      <th>action_type</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>328862</td>\n",
       "      <td>323294</td>\n",
       "      <td>833</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>328862</td>\n",
       "      <td>844400</td>\n",
       "      <td>1271</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>328862</td>\n",
       "      <td>575153</td>\n",
       "      <td>1271</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>328862</td>\n",
       "      <td>996875</td>\n",
       "      <td>1271</td>\n",
       "      <td>2882</td>\n",
       "      <td>2660.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>328862</td>\n",
       "      <td>1086186</td>\n",
       "      <td>1271</td>\n",
       "      <td>1253</td>\n",
       "      <td>1049.0</td>\n",
       "      <td>829</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 54
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "本想求日期特征，奈何电脑带不动",
   "id": "aa7a47f920d3b2f7"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:16:59.042683Z",
     "start_time": "2024-09-18T11:16:57.542250Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 活跃天数方差\n",
    "std=user_log.groupby(['user_id'])['time_stamp'].std().reset_index()\n",
    "all_data = all_data.merge(std,on=['user_id'],how='inner')\n",
    "all_data.rename(columns={'time_stamp':'time_stamp_std'},inplace=True)\n",
    "all_data.head()"
   ],
   "id": "bf2234fe1de47a51",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender  sell_sum  \\\n",
       "0    34176         3906    0.0       1        6.0     0.0       451   \n",
       "1    34176          121    0.0       1        6.0     0.0       451   \n",
       "2    34176         4356    1.0       1        6.0     0.0       451   \n",
       "3    34176         2217    0.0       1        6.0     0.0       451   \n",
       "4   230784         4818    0.0       1        0.0     0.0        54   \n",
       "\n",
       "   seller_id_unique  cat_id_unique  brand_id_unique  item_id_unique  \\\n",
       "0               109             45              106             256   \n",
       "1               109             45              106             256   \n",
       "2               109             45              106             256   \n",
       "3               109             45              106             256   \n",
       "4                20             17               19              31   \n",
       "\n",
       "   time_stamp_unique  action_type_unique  time_stamp_std  \n",
       "0                 47                   3      206.449449  \n",
       "1                 47                   3      206.449449  \n",
       "2                 47                   3      206.449449  \n",
       "3                 47                   3      206.449449  \n",
       "4                 16                   2      218.341897  "
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>time_stamp_unique</th>\n",
       "      <th>action_type_unique</th>\n",
       "      <th>time_stamp_std</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>31</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>218.341897</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 55
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:17:20.974252Z",
     "start_time": "2024-09-18T11:17:20.970553Z"
    }
   },
   "cell_type": "code",
   "source": [
    "a=[1,2,4,5,6,4,6,8,9,1,1,2,5,9]\n",
    "b=Counter(a)\n",
    "print(b)\n",
    "print(b.most_common(1)[0][1])"
   ],
   "id": "b2f5f3d913599403",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Counter({1: 3, 2: 2, 4: 2, 5: 2, 6: 2, 9: 2, 8: 1})\n",
      "3\n"
     ]
    }
   ],
   "execution_count": 56
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:17:31.984050Z",
     "start_time": "2024-09-18T11:17:31.979414Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def most_love(data_1,most_name,new_name_2):\n",
    "    data2=user_log.groupby(['user_id'])[most_name].apply(lambda x: Counter(x).most_common(1)[0][0]).reset_index()\n",
    "    data_union_1=data_1.merge(data2,on=['user_id'],how='inner')\n",
    "    data_union_1.rename(columns={most_name:new_name_2},inplace=True)\n",
    "    return data_union_1"
   ],
   "id": "f1edc5f84efeee11",
   "outputs": [],
   "execution_count": 57
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:17:55.373928Z",
     "start_time": "2024-09-18T11:17:37.638613Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 用户最喜欢的店铺\n",
    "all_data=most_love(all_data,'seller_id','sell_id_most')"
   ],
   "id": "28ca0bc52ff96419",
   "outputs": [],
   "execution_count": 58
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:18:12.620522Z",
     "start_time": "2024-09-18T11:17:55.374921Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 最喜欢的类目\n",
    "all_data=most_love(all_data,'cat_id','cat_id_most')"
   ],
   "id": "f746c9cd60fdef23",
   "outputs": [],
   "execution_count": 59
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:18:31.443904Z",
     "start_time": "2024-09-18T11:18:12.621508Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 最喜欢的品牌\n",
    "all_data=most_love(all_data,'brand_id','brand_id_most')"
   ],
   "id": "2ba2f26e062f6779",
   "outputs": [],
   "execution_count": 60
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:18:44.919461Z",
     "start_time": "2024-09-18T11:18:31.444897Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 最常见的行为动作\n",
    "all_data=most_love(all_data,'action_type','action_type_most')"
   ],
   "id": "686f8c34b7330e0e",
   "outputs": [],
   "execution_count": 61
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:18:44.931662Z",
     "start_time": "2024-09-18T11:18:44.921458Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.head()",
   "id": "c7a012ed1b513379",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender  sell_sum  \\\n",
       "0    34176         3906    0.0       1        6.0     0.0       451   \n",
       "1    34176          121    0.0       1        6.0     0.0       451   \n",
       "2    34176         4356    1.0       1        6.0     0.0       451   \n",
       "3    34176         2217    0.0       1        6.0     0.0       451   \n",
       "4   230784         4818    0.0       1        0.0     0.0        54   \n",
       "\n",
       "   seller_id_unique  cat_id_unique  brand_id_unique  item_id_unique  \\\n",
       "0               109             45              106             256   \n",
       "1               109             45              106             256   \n",
       "2               109             45              106             256   \n",
       "3               109             45              106             256   \n",
       "4                20             17               19              31   \n",
       "\n",
       "   time_stamp_unique  action_type_unique  time_stamp_std  sell_id_most  \\\n",
       "0                 47                   3      206.449449           331   \n",
       "1                 47                   3      206.449449           331   \n",
       "2                 47                   3      206.449449           331   \n",
       "3                 47                   3      206.449449           331   \n",
       "4                 16                   2      218.341897          3556   \n",
       "\n",
       "   cat_id_most  brand_id_most  action_type_most  \n",
       "0          662         4094.0                 0  \n",
       "1          662         4094.0                 0  \n",
       "2          662         4094.0                 0  \n",
       "3          662         4094.0                 0  \n",
       "4          407         1236.0                 0  "
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>time_stamp_unique</th>\n",
       "      <th>action_type_unique</th>\n",
       "      <th>time_stamp_std</th>\n",
       "      <th>sell_id_most</th>\n",
       "      <th>cat_id_most</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>47</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>31</td>\n",
       "      <td>16</td>\n",
       "      <td>2</td>\n",
       "      <td>218.341897</td>\n",
       "      <td>3556</td>\n",
       "      <td>407</td>\n",
       "      <td>1236.0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 62
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:18:44.936122Z",
     "start_time": "2024-09-18T11:18:44.932664Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def most_love_cnt(data_1,most_name,new_name_2):\n",
    "    data2=user_log.groupby(['user_id'])[most_name].apply(lambda x: Counter(x).most_common(1)[0][1]).reset_index()\n",
    "    data_union_1=data_1.merge(data2,on=['user_id'],how='inner')\n",
    "    data_union_1.rename(columns={most_name:new_name_2},inplace=True)\n",
    "    return data_union_1"
   ],
   "id": "d98c55bdded0ca53",
   "outputs": [],
   "execution_count": 63
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:01.687024Z",
     "start_time": "2024-09-18T11:18:44.936122Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 用户最喜欢的店铺 行为次数\n",
    "all_data=most_love_cnt(all_data,'seller_id','seller_id_most_cnt')"
   ],
   "id": "2e80b66dca77c472",
   "outputs": [],
   "execution_count": 64
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:18.966872Z",
     "start_time": "2024-09-18T11:19:01.687540Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 最喜欢的类目 行为次数\n",
    "all_data=most_love_cnt(all_data,'cat_id','cat_id_most_cnt')"
   ],
   "id": "a46313ef92c08014",
   "outputs": [],
   "execution_count": 65
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:38.010710Z",
     "start_time": "2024-09-18T11:19:18.967863Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 最喜欢的品牌 行为次数\n",
    "all_data=most_love_cnt(all_data,'brand_id','brand_id_most_cnt')"
   ],
   "id": "67cf31637a7ecf02",
   "outputs": [],
   "execution_count": 66
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:51.667590Z",
     "start_time": "2024-09-18T11:19:38.011710Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 最常见的行为动作 行为次数\n",
    "all_data=most_love_cnt(all_data,'action_type','action_type_most_cnt')"
   ],
   "id": "33159b6497c994f0",
   "outputs": [],
   "execution_count": 67
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:51.684432Z",
     "start_time": "2024-09-18T11:19:51.669586Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.head()",
   "id": "6dca13ad7aec6a2d",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender  sell_sum  \\\n",
       "0    34176         3906    0.0       1        6.0     0.0       451   \n",
       "1    34176          121    0.0       1        6.0     0.0       451   \n",
       "2    34176         4356    1.0       1        6.0     0.0       451   \n",
       "3    34176         2217    0.0       1        6.0     0.0       451   \n",
       "4   230784         4818    0.0       1        0.0     0.0        54   \n",
       "\n",
       "   seller_id_unique  cat_id_unique  brand_id_unique  ...  action_type_unique  \\\n",
       "0               109             45              106  ...                   3   \n",
       "1               109             45              106  ...                   3   \n",
       "2               109             45              106  ...                   3   \n",
       "3               109             45              106  ...                   3   \n",
       "4                20             17               19  ...                   2   \n",
       "\n",
       "   time_stamp_std  sell_id_most  cat_id_most  brand_id_most  action_type_most  \\\n",
       "0      206.449449           331          662         4094.0                 0   \n",
       "1      206.449449           331          662         4094.0                 0   \n",
       "2      206.449449           331          662         4094.0                 0   \n",
       "3      206.449449           331          662         4094.0                 0   \n",
       "4      218.341897          3556          407         1236.0                 0   \n",
       "\n",
       "   seller_id_most_cnt  cat_id_most_cnt  brand_id_most_cnt  \\\n",
       "0                  70               98                 70   \n",
       "1                  70               98                 70   \n",
       "2                  70               98                 70   \n",
       "3                  70               98                 70   \n",
       "4                  10                9                 10   \n",
       "\n",
       "   action_type_most_cnt  \n",
       "0                   410  \n",
       "1                   410  \n",
       "2                   410  \n",
       "3                   410  \n",
       "4                    47  \n",
       "\n",
       "[5 rows x 22 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>...</th>\n",
       "      <th>action_type_unique</th>\n",
       "      <th>time_stamp_std</th>\n",
       "      <th>sell_id_most</th>\n",
       "      <th>cat_id_most</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "      <th>seller_id_most_cnt</th>\n",
       "      <th>cat_id_most_cnt</th>\n",
       "      <th>brand_id_most_cnt</th>\n",
       "      <th>action_type_most_cnt</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>3</td>\n",
       "      <td>206.449449</td>\n",
       "      <td>331</td>\n",
       "      <td>662</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>...</td>\n",
       "      <td>2</td>\n",
       "      <td>218.341897</td>\n",
       "      <td>3556</td>\n",
       "      <td>407</td>\n",
       "      <td>1236.0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>9</td>\n",
       "      <td>10</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 22 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 68,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 68
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:51.778072Z",
     "start_time": "2024-09-18T11:19:51.685431Z"
    }
   },
   "cell_type": "code",
   "source": "user_id_union=list(set(all_data['user_id']))",
   "id": "18cb18c061a79c61",
   "outputs": [],
   "execution_count": 69
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:19:51.783089Z",
     "start_time": "2024-09-18T11:19:51.779066Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def action_type_select(data,num,new_name):\n",
    "    d=user_log.groupby(['user_id'])['action_type'].apply(lambda x: Counter(x))\n",
    "    e=dict(d)\n",
    "    k=[]\n",
    "    for i in user_id_union:\n",
    "        try: \n",
    "            k.append(e[(i,num)])\n",
    "        except KeyError:\n",
    "            k.append(0) \n",
    "    data3=pd.DataFrame({'user_id':user_id_union,new_name:k})\n",
    "    data_union_2=data.merge(data3,on=['user_id'],how='inner')\n",
    "    return data_union_2"
   ],
   "id": "d1dbe2fa63012989",
   "outputs": [],
   "execution_count": 70
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:20:31.120017Z",
     "start_time": "2024-09-18T11:19:51.784070Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 点击次数\n",
    "all_data=action_type_select(all_data,0,'action_type_sum_0')"
   ],
   "id": "4379cad5cdba4d93",
   "outputs": [],
   "execution_count": 71
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:21:10.841710Z",
     "start_time": "2024-09-18T11:20:31.120998Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 加购次数\n",
    "all_data=action_type_select(all_data,1,'action_type_sum_1')"
   ],
   "id": "935c0c4260a1f63a",
   "outputs": [],
   "execution_count": 72
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:21:50.701755Z",
     "start_time": "2024-09-18T11:21:10.842712Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 购买次数\n",
    "all_data=action_type_select(all_data,2,'action_type_sum_2')"
   ],
   "id": "8d3d76aacf9f3d09",
   "outputs": [],
   "execution_count": 73
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.346587Z",
     "start_time": "2024-09-18T11:21:50.702769Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# 收藏次数\n",
    "all_data=action_type_select(all_data,3,'action_type_sum_2')"
   ],
   "id": "cc27c8e40f522578",
   "outputs": [],
   "execution_count": 74
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.351331Z",
     "start_time": "2024-09-18T11:22:29.347587Z"
    }
   },
   "cell_type": "code",
   "source": "all_data=all_data.T.drop_duplicates(keep='first').T",
   "id": "66dc71ad330bbf61",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"all_data=all_data.T.drop_duplicates(keep='first').T\""
      ]
     },
     "execution_count": 75,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 75
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.391351Z",
     "start_time": "2024-09-18T11:22:29.353335Z"
    }
   },
   "cell_type": "code",
   "source": "all_data.head()",
   "id": "bd823fcb77c2b8f4",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  target  age_range  gender  sell_sum  \\\n",
       "0    34176         3906    0.0       1        6.0     0.0       451   \n",
       "1    34176          121    0.0       1        6.0     0.0       451   \n",
       "2    34176         4356    1.0       1        6.0     0.0       451   \n",
       "3    34176         2217    0.0       1        6.0     0.0       451   \n",
       "4   230784         4818    0.0       1        0.0     0.0        54   \n",
       "\n",
       "   seller_id_unique  cat_id_unique  brand_id_unique  ...  brand_id_most  \\\n",
       "0               109             45              106  ...         4094.0   \n",
       "1               109             45              106  ...         4094.0   \n",
       "2               109             45              106  ...         4094.0   \n",
       "3               109             45              106  ...         4094.0   \n",
       "4                20             17               19  ...         1236.0   \n",
       "\n",
       "   action_type_most  seller_id_most_cnt  cat_id_most_cnt  brand_id_most_cnt  \\\n",
       "0                 0                  70               98                 70   \n",
       "1                 0                  70               98                 70   \n",
       "2                 0                  70               98                 70   \n",
       "3                 0                  70               98                 70   \n",
       "4                 0                  10                9                 10   \n",
       "\n",
       "   action_type_most_cnt  action_type_sum_0  action_type_sum_1  \\\n",
       "0                   410              410.0                NaN   \n",
       "1                   410              410.0                NaN   \n",
       "2                   410              410.0                NaN   \n",
       "3                   410              410.0                NaN   \n",
       "4                    47               47.0                NaN   \n",
       "\n",
       "   action_type_sum_2_x  action_type_sum_2_y  \n",
       "0                 34.0                  7.0  \n",
       "1                 34.0                  7.0  \n",
       "2                 34.0                  7.0  \n",
       "3                 34.0                  7.0  \n",
       "4                  7.0                  NaN  \n",
       "\n",
       "[5 rows x 26 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>target</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>...</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "      <th>seller_id_most_cnt</th>\n",
       "      <th>cat_id_most_cnt</th>\n",
       "      <th>brand_id_most_cnt</th>\n",
       "      <th>action_type_most_cnt</th>\n",
       "      <th>action_type_sum_0</th>\n",
       "      <th>action_type_sum_1</th>\n",
       "      <th>action_type_sum_2_x</th>\n",
       "      <th>action_type_sum_2_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>...</td>\n",
       "      <td>1236.0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>9</td>\n",
       "      <td>10</td>\n",
       "      <td>47</td>\n",
       "      <td>47.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 26 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 76,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 76
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.488525Z",
     "start_time": "2024-09-18T11:22:29.392350Z"
    }
   },
   "cell_type": "code",
   "source": [
    "train = all_data[all_data['target'] == 1].reset_index(drop = True)\n",
    "test = all_data[all_data['target'] == -1].reset_index(drop = True)"
   ],
   "id": "64c4fb6302815f70",
   "outputs": [],
   "execution_count": 77
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.521959Z",
     "start_time": "2024-09-18T11:22:29.489525Z"
    }
   },
   "cell_type": "code",
   "source": [
    "train.drop(['target'],axis=1,inplace=True)\n",
    "test.drop(['target'],axis=1,inplace=True)"
   ],
   "id": "9d5d21afa1ca5cf",
   "outputs": [],
   "execution_count": 78
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.542053Z",
     "start_time": "2024-09-18T11:22:29.522958Z"
    }
   },
   "cell_type": "code",
   "source": "train.fillna(0,inplace=True)",
   "id": "a6e002643c0e430b",
   "outputs": [],
   "execution_count": 79
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.560529Z",
     "start_time": "2024-09-18T11:22:29.543054Z"
    }
   },
   "cell_type": "code",
   "source": "test.drop(['label'],axis=1,inplace=True)",
   "id": "2cd47c30560c95a3",
   "outputs": [],
   "execution_count": 80
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.580127Z",
     "start_time": "2024-09-18T11:22:29.561534Z"
    }
   },
   "cell_type": "code",
   "source": "test.fillna(0,inplace=True)",
   "id": "2da98c3c3ec994bb",
   "outputs": [],
   "execution_count": 81
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:29.593493Z",
     "start_time": "2024-09-18T11:22:29.581126Z"
    }
   },
   "cell_type": "code",
   "source": "test.head()",
   "id": "16a83d39e34a6941",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  age_range  gender  sell_sum  seller_id_unique  \\\n",
       "0   163968         4605        0.0     0.0        81                21   \n",
       "1   360576         1581        2.0     2.0        77                37   \n",
       "2    98688         1964        6.0     0.0        56                22   \n",
       "3    98688         3645        6.0     0.0        56                22   \n",
       "4   295296         3361        2.0     1.0       176                56   \n",
       "\n",
       "   cat_id_unique  brand_id_unique  item_id_unique  time_stamp_unique  ...  \\\n",
       "0             21               22              34                 26  ...   \n",
       "1             27               37              65                 22  ...   \n",
       "2             18               21              25                 10  ...   \n",
       "3             18               21              25                 10  ...   \n",
       "4             32               46              85                 33  ...   \n",
       "\n",
       "   brand_id_most  action_type_most  seller_id_most_cnt  cat_id_most_cnt  \\\n",
       "0         7176.0                 0                  22               17   \n",
       "1         4066.0                 0                  10               13   \n",
       "2         3636.0                 0                  11               11   \n",
       "3         3636.0                 0                  11               11   \n",
       "4          487.0                 0                  50               59   \n",
       "\n",
       "   brand_id_most_cnt  action_type_most_cnt  action_type_sum_0  \\\n",
       "0                 22                    63               63.0   \n",
       "1                 10                    71               71.0   \n",
       "2                 11                    51               51.0   \n",
       "3                 11                    51               51.0   \n",
       "4                 49                   162              162.0   \n",
       "\n",
       "   action_type_sum_1  action_type_sum_2_x  action_type_sum_2_y  \n",
       "0                0.0                 16.0                  2.0  \n",
       "1                0.0                  6.0                  0.0  \n",
       "2                0.0                  5.0                  0.0  \n",
       "3                0.0                  5.0                  0.0  \n",
       "4                0.0                  7.0                  7.0  \n",
       "\n",
       "[5 rows x 24 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>time_stamp_unique</th>\n",
       "      <th>...</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "      <th>seller_id_most_cnt</th>\n",
       "      <th>cat_id_most_cnt</th>\n",
       "      <th>brand_id_most_cnt</th>\n",
       "      <th>action_type_most_cnt</th>\n",
       "      <th>action_type_sum_0</th>\n",
       "      <th>action_type_sum_1</th>\n",
       "      <th>action_type_sum_2_x</th>\n",
       "      <th>action_type_sum_2_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>163968</td>\n",
       "      <td>4605</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>81</td>\n",
       "      <td>21</td>\n",
       "      <td>21</td>\n",
       "      <td>22</td>\n",
       "      <td>34</td>\n",
       "      <td>26</td>\n",
       "      <td>...</td>\n",
       "      <td>7176.0</td>\n",
       "      <td>0</td>\n",
       "      <td>22</td>\n",
       "      <td>17</td>\n",
       "      <td>22</td>\n",
       "      <td>63</td>\n",
       "      <td>63.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>360576</td>\n",
       "      <td>1581</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>77</td>\n",
       "      <td>37</td>\n",
       "      <td>27</td>\n",
       "      <td>37</td>\n",
       "      <td>65</td>\n",
       "      <td>22</td>\n",
       "      <td>...</td>\n",
       "      <td>4066.0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>10</td>\n",
       "      <td>71</td>\n",
       "      <td>71.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>98688</td>\n",
       "      <td>1964</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>56</td>\n",
       "      <td>22</td>\n",
       "      <td>18</td>\n",
       "      <td>21</td>\n",
       "      <td>25</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>3636.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>51</td>\n",
       "      <td>51.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>98688</td>\n",
       "      <td>3645</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>56</td>\n",
       "      <td>22</td>\n",
       "      <td>18</td>\n",
       "      <td>21</td>\n",
       "      <td>25</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>3636.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>51</td>\n",
       "      <td>51.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>295296</td>\n",
       "      <td>3361</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>176</td>\n",
       "      <td>56</td>\n",
       "      <td>32</td>\n",
       "      <td>46</td>\n",
       "      <td>85</td>\n",
       "      <td>33</td>\n",
       "      <td>...</td>\n",
       "      <td>487.0</td>\n",
       "      <td>0</td>\n",
       "      <td>50</td>\n",
       "      <td>59</td>\n",
       "      <td>49</td>\n",
       "      <td>162</td>\n",
       "      <td>162.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 24 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 82,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 82
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:32.923526Z",
     "start_time": "2024-09-18T11:22:29.594491Z"
    }
   },
   "cell_type": "code",
   "source": [
    "train.to_csv('train_all_k.csv',header=True,index=False)\n",
    "test.to_csv('test_all_k.csv',header=True,index=False)"
   ],
   "id": "e90685881d46c7f4",
   "outputs": [],
   "execution_count": 83
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:33.317548Z",
     "start_time": "2024-09-18T11:22:32.924529Z"
    }
   },
   "cell_type": "code",
   "source": "pd.read_csv('train_all_k.csv').head()",
   "id": "54208fe2323c759b",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  age_range  gender  sell_sum  seller_id_unique  \\\n",
       "0    34176         3906    0.0        6.0     0.0       451               109   \n",
       "1    34176          121    0.0        6.0     0.0       451               109   \n",
       "2    34176         4356    1.0        6.0     0.0       451               109   \n",
       "3    34176         2217    0.0        6.0     0.0       451               109   \n",
       "4   230784         4818    0.0        0.0     0.0        54                20   \n",
       "\n",
       "   cat_id_unique  brand_id_unique  item_id_unique  ...  brand_id_most  \\\n",
       "0             45              106             256  ...         4094.0   \n",
       "1             45              106             256  ...         4094.0   \n",
       "2             45              106             256  ...         4094.0   \n",
       "3             45              106             256  ...         4094.0   \n",
       "4             17               19              31  ...         1236.0   \n",
       "\n",
       "   action_type_most  seller_id_most_cnt  cat_id_most_cnt  brand_id_most_cnt  \\\n",
       "0                 0                  70               98                 70   \n",
       "1                 0                  70               98                 70   \n",
       "2                 0                  70               98                 70   \n",
       "3                 0                  70               98                 70   \n",
       "4                 0                  10                9                 10   \n",
       "\n",
       "   action_type_most_cnt  action_type_sum_0  action_type_sum_1  \\\n",
       "0                   410              410.0                0.0   \n",
       "1                   410              410.0                0.0   \n",
       "2                   410              410.0                0.0   \n",
       "3                   410              410.0                0.0   \n",
       "4                    47               47.0                0.0   \n",
       "\n",
       "   action_type_sum_2_x  action_type_sum_2_y  \n",
       "0                 34.0                  7.0  \n",
       "1                 34.0                  7.0  \n",
       "2                 34.0                  7.0  \n",
       "3                 34.0                  7.0  \n",
       "4                  7.0                  0.0  \n",
       "\n",
       "[5 rows x 25 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>...</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "      <th>seller_id_most_cnt</th>\n",
       "      <th>cat_id_most_cnt</th>\n",
       "      <th>brand_id_most_cnt</th>\n",
       "      <th>action_type_most_cnt</th>\n",
       "      <th>action_type_sum_0</th>\n",
       "      <th>action_type_sum_1</th>\n",
       "      <th>action_type_sum_2_x</th>\n",
       "      <th>action_type_sum_2_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>31</td>\n",
       "      <td>...</td>\n",
       "      <td>1236.0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>9</td>\n",
       "      <td>10</td>\n",
       "      <td>47</td>\n",
       "      <td>47.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 84,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 84
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "建模",
   "id": "6b5769ee7adfb38d"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:33.730271Z",
     "start_time": "2024-09-18T11:22:33.318550Z"
    }
   },
   "cell_type": "code",
   "source": [
    "train_data=pd.read_csv('train_all_k.csv')\n",
    "train_data.head()"
   ],
   "id": "174d2fe44ca9daf6",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  label  age_range  gender  sell_sum  seller_id_unique  \\\n",
       "0    34176         3906    0.0        6.0     0.0       451               109   \n",
       "1    34176          121    0.0        6.0     0.0       451               109   \n",
       "2    34176         4356    1.0        6.0     0.0       451               109   \n",
       "3    34176         2217    0.0        6.0     0.0       451               109   \n",
       "4   230784         4818    0.0        0.0     0.0        54                20   \n",
       "\n",
       "   cat_id_unique  brand_id_unique  item_id_unique  ...  brand_id_most  \\\n",
       "0             45              106             256  ...         4094.0   \n",
       "1             45              106             256  ...         4094.0   \n",
       "2             45              106             256  ...         4094.0   \n",
       "3             45              106             256  ...         4094.0   \n",
       "4             17               19              31  ...         1236.0   \n",
       "\n",
       "   action_type_most  seller_id_most_cnt  cat_id_most_cnt  brand_id_most_cnt  \\\n",
       "0                 0                  70               98                 70   \n",
       "1                 0                  70               98                 70   \n",
       "2                 0                  70               98                 70   \n",
       "3                 0                  70               98                 70   \n",
       "4                 0                  10                9                 10   \n",
       "\n",
       "   action_type_most_cnt  action_type_sum_0  action_type_sum_1  \\\n",
       "0                   410              410.0                0.0   \n",
       "1                   410              410.0                0.0   \n",
       "2                   410              410.0                0.0   \n",
       "3                   410              410.0                0.0   \n",
       "4                    47               47.0                0.0   \n",
       "\n",
       "   action_type_sum_2_x  action_type_sum_2_y  \n",
       "0                 34.0                  7.0  \n",
       "1                 34.0                  7.0  \n",
       "2                 34.0                  7.0  \n",
       "3                 34.0                  7.0  \n",
       "4                  7.0                  0.0  \n",
       "\n",
       "[5 rows x 25 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>label</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>...</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "      <th>seller_id_most_cnt</th>\n",
       "      <th>cat_id_most_cnt</th>\n",
       "      <th>brand_id_most_cnt</th>\n",
       "      <th>action_type_most_cnt</th>\n",
       "      <th>action_type_sum_0</th>\n",
       "      <th>action_type_sum_1</th>\n",
       "      <th>action_type_sum_2_x</th>\n",
       "      <th>action_type_sum_2_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>34176</td>\n",
       "      <td>3906</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>34176</td>\n",
       "      <td>121</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>34176</td>\n",
       "      <td>4356</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>34176</td>\n",
       "      <td>2217</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>451</td>\n",
       "      <td>109</td>\n",
       "      <td>45</td>\n",
       "      <td>106</td>\n",
       "      <td>256</td>\n",
       "      <td>...</td>\n",
       "      <td>4094.0</td>\n",
       "      <td>0</td>\n",
       "      <td>70</td>\n",
       "      <td>98</td>\n",
       "      <td>70</td>\n",
       "      <td>410</td>\n",
       "      <td>410.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>34.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>230784</td>\n",
       "      <td>4818</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>54</td>\n",
       "      <td>20</td>\n",
       "      <td>17</td>\n",
       "      <td>19</td>\n",
       "      <td>31</td>\n",
       "      <td>...</td>\n",
       "      <td>1236.0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>9</td>\n",
       "      <td>10</td>\n",
       "      <td>47</td>\n",
       "      <td>47.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 25 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 85,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 85
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:34.089509Z",
     "start_time": "2024-09-18T11:22:33.731275Z"
    }
   },
   "cell_type": "code",
   "source": [
    "test_data=pd.read_csv('test_all_k.csv')\n",
    "test_data.head()"
   ],
   "id": "dfa6a9827e3eea89",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "   user_id  merchant_id  age_range  gender  sell_sum  seller_id_unique  \\\n",
       "0   163968         4605        0.0     0.0        81                21   \n",
       "1   360576         1581        2.0     2.0        77                37   \n",
       "2    98688         1964        6.0     0.0        56                22   \n",
       "3    98688         3645        6.0     0.0        56                22   \n",
       "4   295296         3361        2.0     1.0       176                56   \n",
       "\n",
       "   cat_id_unique  brand_id_unique  item_id_unique  time_stamp_unique  ...  \\\n",
       "0             21               22              34                 26  ...   \n",
       "1             27               37              65                 22  ...   \n",
       "2             18               21              25                 10  ...   \n",
       "3             18               21              25                 10  ...   \n",
       "4             32               46              85                 33  ...   \n",
       "\n",
       "   brand_id_most  action_type_most  seller_id_most_cnt  cat_id_most_cnt  \\\n",
       "0         7176.0                 0                  22               17   \n",
       "1         4066.0                 0                  10               13   \n",
       "2         3636.0                 0                  11               11   \n",
       "3         3636.0                 0                  11               11   \n",
       "4          487.0                 0                  50               59   \n",
       "\n",
       "   brand_id_most_cnt  action_type_most_cnt  action_type_sum_0  \\\n",
       "0                 22                    63               63.0   \n",
       "1                 10                    71               71.0   \n",
       "2                 11                    51               51.0   \n",
       "3                 11                    51               51.0   \n",
       "4                 49                   162              162.0   \n",
       "\n",
       "   action_type_sum_1  action_type_sum_2_x  action_type_sum_2_y  \n",
       "0                0.0                 16.0                  2.0  \n",
       "1                0.0                  6.0                  0.0  \n",
       "2                0.0                  5.0                  0.0  \n",
       "3                0.0                  5.0                  0.0  \n",
       "4                0.0                  7.0                  7.0  \n",
       "\n",
       "[5 rows x 24 columns]"
      ],
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>merchant_id</th>\n",
       "      <th>age_range</th>\n",
       "      <th>gender</th>\n",
       "      <th>sell_sum</th>\n",
       "      <th>seller_id_unique</th>\n",
       "      <th>cat_id_unique</th>\n",
       "      <th>brand_id_unique</th>\n",
       "      <th>item_id_unique</th>\n",
       "      <th>time_stamp_unique</th>\n",
       "      <th>...</th>\n",
       "      <th>brand_id_most</th>\n",
       "      <th>action_type_most</th>\n",
       "      <th>seller_id_most_cnt</th>\n",
       "      <th>cat_id_most_cnt</th>\n",
       "      <th>brand_id_most_cnt</th>\n",
       "      <th>action_type_most_cnt</th>\n",
       "      <th>action_type_sum_0</th>\n",
       "      <th>action_type_sum_1</th>\n",
       "      <th>action_type_sum_2_x</th>\n",
       "      <th>action_type_sum_2_y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>163968</td>\n",
       "      <td>4605</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>81</td>\n",
       "      <td>21</td>\n",
       "      <td>21</td>\n",
       "      <td>22</td>\n",
       "      <td>34</td>\n",
       "      <td>26</td>\n",
       "      <td>...</td>\n",
       "      <td>7176.0</td>\n",
       "      <td>0</td>\n",
       "      <td>22</td>\n",
       "      <td>17</td>\n",
       "      <td>22</td>\n",
       "      <td>63</td>\n",
       "      <td>63.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>16.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>360576</td>\n",
       "      <td>1581</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>77</td>\n",
       "      <td>37</td>\n",
       "      <td>27</td>\n",
       "      <td>37</td>\n",
       "      <td>65</td>\n",
       "      <td>22</td>\n",
       "      <td>...</td>\n",
       "      <td>4066.0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>13</td>\n",
       "      <td>10</td>\n",
       "      <td>71</td>\n",
       "      <td>71.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>98688</td>\n",
       "      <td>1964</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>56</td>\n",
       "      <td>22</td>\n",
       "      <td>18</td>\n",
       "      <td>21</td>\n",
       "      <td>25</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>3636.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>51</td>\n",
       "      <td>51.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>98688</td>\n",
       "      <td>3645</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>56</td>\n",
       "      <td>22</td>\n",
       "      <td>18</td>\n",
       "      <td>21</td>\n",
       "      <td>25</td>\n",
       "      <td>10</td>\n",
       "      <td>...</td>\n",
       "      <td>3636.0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "      <td>51</td>\n",
       "      <td>51.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>295296</td>\n",
       "      <td>3361</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>176</td>\n",
       "      <td>56</td>\n",
       "      <td>32</td>\n",
       "      <td>46</td>\n",
       "      <td>85</td>\n",
       "      <td>33</td>\n",
       "      <td>...</td>\n",
       "      <td>487.0</td>\n",
       "      <td>0</td>\n",
       "      <td>50</td>\n",
       "      <td>59</td>\n",
       "      <td>49</td>\n",
       "      <td>162</td>\n",
       "      <td>162.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>7.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 24 columns</p>\n",
       "</div>"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 86
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T11:22:34.097146Z",
     "start_time": "2024-09-18T11:22:34.090509Z"
    }
   },
   "cell_type": "code",
   "source": "train_data['label'].value_counts()",
   "id": "d2a9803a215a79ee",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0    241303\n",
       "1.0     15838\n",
       "Name: label, dtype: int64"
      ]
     },
     "execution_count": 87,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 87
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:17:15.343694Z",
     "start_time": "2024-09-18T13:17:15.267601Z"
    }
   },
   "cell_type": "code",
   "source": [
    "target = train_data['label']\n",
    "target.head\n",
    "train.fillna(0,inplace=True)\n",
    "train_data.drop(['label'],axis=1,inplace=True)\n",
    "train_data.drop(['user_id'],axis=1,inplace=True)\n",
    "train_data.drop(['merchant_id'],axis=1,inplace=True)\n",
    "train_data.head"
   ],
   "id": "d5e86861c7ffa488",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<bound method NDFrame.head of         age_range  gender  sell_sum  seller_id_unique  cat_id_unique  \\\n",
       "0             6.0     0.0       451               109             45   \n",
       "1             6.0     0.0       451               109             45   \n",
       "2             6.0     0.0       451               109             45   \n",
       "3             6.0     0.0       451               109             45   \n",
       "4             0.0     0.0        54                20             17   \n",
       "...           ...     ...       ...               ...            ...   \n",
       "257136        4.0     1.0       117                33             25   \n",
       "257137        0.0     1.0       198                38             20   \n",
       "257138        0.0     1.0       198                38             20   \n",
       "257139        0.0     1.0       198                38             20   \n",
       "257140        4.0     2.0       194                50             29   \n",
       "\n",
       "        brand_id_unique  item_id_unique  time_stamp_unique  \\\n",
       "0                   106             256                 47   \n",
       "1                   106             256                 47   \n",
       "2                   106             256                 47   \n",
       "3                   106             256                 47   \n",
       "4                    19              31                 16   \n",
       "...                 ...             ...                ...   \n",
       "257136               32              49                 12   \n",
       "257137               36              89                  6   \n",
       "257138               36              89                  6   \n",
       "257139               36              89                  6   \n",
       "257140               49             127                 23   \n",
       "\n",
       "        action_type_unique  time_stamp_std  ...  brand_id_most  \\\n",
       "0                        3      206.449449  ...         4094.0   \n",
       "1                        3      206.449449  ...         4094.0   \n",
       "2                        3      206.449449  ...         4094.0   \n",
       "3                        3      206.449449  ...         4094.0   \n",
       "4                        2      218.341897  ...         1236.0   \n",
       "...                    ...             ...  ...            ...   \n",
       "257136                   3       60.319805  ...         2276.0   \n",
       "257137                   3       55.674024  ...         6144.0   \n",
       "257138                   3       55.674024  ...         6144.0   \n",
       "257139                   3       55.674024  ...         6144.0   \n",
       "257140                   3      201.170042  ...         5696.0   \n",
       "\n",
       "        action_type_most  seller_id_most_cnt  cat_id_most_cnt  \\\n",
       "0                      0                  70               98   \n",
       "1                      0                  70               98   \n",
       "2                      0                  70               98   \n",
       "3                      0                  70               98   \n",
       "4                      0                  10                9   \n",
       "...                  ...                 ...              ...   \n",
       "257136                 0                  22               15   \n",
       "257137                 0                  28               38   \n",
       "257138                 0                  28               38   \n",
       "257139                 0                  28               38   \n",
       "257140                 0                  24               33   \n",
       "\n",
       "        brand_id_most_cnt  action_type_most_cnt  action_type_sum_0  \\\n",
       "0                      70                   410              410.0   \n",
       "1                      70                   410              410.0   \n",
       "2                      70                   410              410.0   \n",
       "3                      70                   410              410.0   \n",
       "4                      10                    47               47.0   \n",
       "...                   ...                   ...                ...   \n",
       "257136                 25                   107              107.0   \n",
       "257137                 28                   162              162.0   \n",
       "257138                 28                   162              162.0   \n",
       "257139                 28                   162              162.0   \n",
       "257140                 24                   181              181.0   \n",
       "\n",
       "        action_type_sum_1  action_type_sum_2_x  action_type_sum_2_y  \n",
       "0                     0.0                 34.0                  7.0  \n",
       "1                     0.0                 34.0                  7.0  \n",
       "2                     0.0                 34.0                  7.0  \n",
       "3                     0.0                 34.0                  7.0  \n",
       "4                     0.0                  7.0                  0.0  \n",
       "...                   ...                  ...                  ...  \n",
       "257136                0.0                  9.0                  1.0  \n",
       "257137                0.0                  5.0                 31.0  \n",
       "257138                0.0                  5.0                 31.0  \n",
       "257139                0.0                  5.0                 31.0  \n",
       "257140                0.0                  9.0                  4.0  \n",
       "\n",
       "[257141 rows x 22 columns]>"
      ]
     },
     "execution_count": 97,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 97
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "不同分类模型",
   "id": "6b97904a4a0984a0"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:17:18.987389Z",
     "start_time": "2024-09-18T13:17:18.982649Z"
    }
   },
   "cell_type": "code",
   "source": [
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.linear_model import LogisticRegression\n",
    "from sklearn.neighbors import KNeighborsClassifier\n",
    "from sklearn.naive_bayes import GaussianNB\n",
    "from sklearn.model_selection import cross_val_score\n",
    "from sklearn import tree\n",
    "from sklearn.ensemble import BaggingClassifier\n",
    "from sklearn.ensemble import RandomForestClassifier\n",
    "from sklearn.ensemble import ExtraTreesClassifier\n",
    "from sklearn.ensemble import AdaBoostClassifier\n",
    "from sklearn.ensemble import GradientBoostingClassifier\n",
    "from imblearn.over_sampling import SMOTE\n",
    "from functools import partial\n",
    "\n",
    "from sklearn.model_selection import GridSearchCV\n",
    "from sklearn.model_selection import StratifiedKFold \n",
    "from sklearn.model_selection import learning_curve\n",
    "from sklearn.ensemble import VotingClassifier\n",
    "from sklearn.feature_selection import SelectKBest\n",
    "# from sklearn.feature_selection import chi2\n",
    "from sklearn.feature_selection import mutual_info_classif\n",
    "import lightgbm\n",
    "from xgboost import XGBClassifier\n",
    "import xgboost as xgb\n",
    "\n",
    "from sklearn import  metrics \n",
    "from sklearn.metrics import roc_auc_score, roc_curve, accuracy_score, confusion_matrix, log_loss,  auc, precision_recall_curve\n",
    "from sklearn.preprocessing import StandardScaler\n",
    "from sklearn.model_selection import train_test_split"
   ],
   "id": "36b7b0605b5b5a24",
   "outputs": [],
   "execution_count": 98
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:17:21.887734Z",
     "start_time": "2024-09-18T13:17:21.883763Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def model_clf(model):\n",
    "    model.fit(X_train, y_train)\n",
    "    y_train_pred = model.predict_proba(X_train)\n",
    "    y_train_pred_pos = y_train_pred[:,1]\n",
    "\n",
    "    y_test_pred = model.predict_proba(X_test)\n",
    "    y_test_pred_pos = y_test_pred[:,1]\n",
    "\n",
    "    auc_train = roc_auc_score(y_train, y_train_pred_pos)#AUC评分\n",
    "    auc_test = roc_auc_score(y_test, y_test_pred_pos)\n",
    "\n",
    "    print(f\"Train AUC Score {auc_train}\")\n",
    "    print(f\"Test AUC Score {auc_test}\")\n",
    "\n",
    "    fpr, tpr, _ = roc_curve(y_test,y_test_pred_pos)#绘制ROC曲线\n",
    "    return fpr,tpr"
   ],
   "id": "34097f3b898cd7ff",
   "outputs": [],
   "execution_count": 99
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "逻辑斯蒂回归",
   "id": "557318b37013b753"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:18:19.272170Z",
     "start_time": "2024-09-18T13:18:17.416593Z"
    }
   },
   "cell_type": "code",
   "source": [
    "stdScaler = StandardScaler()\n",
    "\n",
    "X = stdScaler.fit_transform(train_data)\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, target, random_state=0)\n",
    "# Split the data into a training set and a test set\n",
    "\n",
    "clf = LogisticRegression(random_state=0, solver='lbfgs', multi_class='multinomial')\n",
    "model_clf(clf)\n"
   ],
   "id": "348bcb75122a98f0",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.5845268780611355\n",
      "Test AUC Score 0.5791568540925305\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.00000000e+00, 1.65510849e-05, 1.65510849e-05, ...,\n",
       "        9.99917245e-01, 9.99950347e-01, 1.00000000e+00]),\n",
       " array([0.00000000e+00, 0.00000000e+00, 2.58598397e-04, ...,\n",
       "        1.00000000e+00, 1.00000000e+00, 1.00000000e+00]))"
      ]
     },
     "execution_count": 100,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 100
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "knn 模型",
   "id": "a6f8911e55e3ba3c"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:19:59.827122Z",
     "start_time": "2024-09-18T13:19:36.507980Z"
    }
   },
   "cell_type": "code",
   "source": [
    "stdScaler = StandardScaler()\n",
    "X = stdScaler.fit_transform(train_data)\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, target, random_state=0)\n",
    "clf = KNeighborsClassifier(n_neighbors=5)\n",
    "model_clf(clf)"
   ],
   "id": "9e1a25dbfa636c41",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.9066086060873274\n",
      "Test AUC Score 0.5204719607565259\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.00000000e+00, 9.93065095e-05, 2.44956057e-03, 3.40952349e-02,\n",
       "        2.64817359e-01, 1.00000000e+00]),\n",
       " array([0.00000000e+00, 5.17196793e-04, 4.13757435e-03, 4.24101371e-02,\n",
       "        3.04887510e-01, 1.00000000e+00]))"
      ]
     },
     "execution_count": 102,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 102
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "GaussianNB 模型",
   "id": "16870c371b3692fc"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:21:20.163751Z",
     "start_time": "2024-09-18T13:21:19.777738Z"
    }
   },
   "cell_type": "code",
   "source": [
    "stdScaler = StandardScaler()\n",
    "X = stdScaler.fit_transform(train_data)\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, target, random_state=0)\n",
    "clf = GaussianNB()\n",
    "model_clf(clf)"
   ],
   "id": "9e9d6ff379ae23af",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.5604776693163214\n",
      "Test AUC Score 0.5558475507345431\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.        , 0.00501498, 0.00508118, ..., 0.99970208, 0.99970208,\n",
       "        1.        ]),\n",
       " array([0.        , 0.00879235, 0.00879235, ..., 0.9997414 , 1.        ,\n",
       "        1.        ]))"
      ]
     },
     "execution_count": 103,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 103
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "决策树模型",
   "id": "f87b08899bc94bcc"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:21:36.196874Z",
     "start_time": "2024-09-18T13:21:32.399421Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, random_state=0)\n",
    "clf = tree.DecisionTreeClassifier()\n",
    "model_clf(clf)"
   ],
   "id": "a1b83467446ebfd0",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.9979673944771675\n",
      "Test AUC Score 0.509189445263146\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.        , 0.06464854, 0.06506231, 0.08037207, 0.08038862,\n",
       "        0.08503947, 0.08593323, 0.0862146 , 0.08634701, 0.08646287,\n",
       "        0.08647942, 0.08654562, 1.        ]),\n",
       " array([0.        , 0.07706232, 0.07783812, 0.09930178, 0.09930178,\n",
       "        0.10369796, 0.10473235, 0.10473235, 0.10473235, 0.10499095,\n",
       "        0.10499095, 0.10499095, 1.        ]))"
      ]
     },
     "execution_count": 104,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 104
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "bagging模型",
   "id": "5552397b97bb4aa6"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:23:09.869933Z",
     "start_time": "2024-09-18T13:22:27.654863Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, random_state=0)\n",
    "clf = BaggingClassifier(KNeighborsClassifier(), max_samples=0.5, max_features=0.5)\n",
    "model_clf(clf)"
   ],
   "id": "6d086771026959b2",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.9098463641718676\n",
      "Test AUC Score 0.531254085206449\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.00000000e+00, 1.65510849e-05, 6.62043397e-05, 9.93065095e-05,\n",
       "        1.82061934e-04, 2.48266274e-04, 3.14470614e-04, 3.31021698e-04,\n",
       "        4.30328208e-04, 5.46185802e-04, 5.95839057e-04, 7.44798822e-04,\n",
       "        7.94452076e-04, 8.11003161e-04, 9.93065095e-04, 1.30753571e-03,\n",
       "        1.34063788e-03, 1.42339330e-03, 2.00268128e-03, 2.49921382e-03,\n",
       "        2.73092901e-03, 3.98881147e-03, 4.07156689e-03, 4.13777123e-03,\n",
       "        5.24669392e-03, 7.10041543e-03, 7.26592628e-03, 1.08409606e-02,\n",
       "        1.24298648e-02, 1.29429484e-02, 1.82558467e-02, 2.03578345e-02,\n",
       "        2.25425777e-02, 3.49227892e-02, 4.86767408e-02, 5.74488158e-02,\n",
       "        6.70318939e-02, 9.28019332e-02, 1.14781774e-01, 1.50316953e-01,\n",
       "        2.33204787e-01, 3.53233254e-01, 4.96946325e-01, 5.05238418e-01,\n",
       "        6.83311541e-01, 8.62923915e-01, 1.00000000e+00]),\n",
       " array([0.00000000e+00, 5.17196793e-04, 5.17196793e-04, 5.17196793e-04,\n",
       "        1.03439359e-03, 1.03439359e-03, 1.81018878e-03, 1.81018878e-03,\n",
       "        2.06878717e-03, 2.06878717e-03, 2.06878717e-03, 2.58598397e-03,\n",
       "        2.58598397e-03, 2.58598397e-03, 3.10318076e-03, 3.87897595e-03,\n",
       "        3.87897595e-03, 4.13757435e-03, 5.17196793e-03, 5.17196793e-03,\n",
       "        5.68916473e-03, 8.53374709e-03, 8.53374709e-03, 8.53374709e-03,\n",
       "        9.82673907e-03, 1.26713214e-02, 1.29299198e-02, 1.65502974e-02,\n",
       "        1.81018878e-02, 1.96534781e-02, 2.66356349e-02, 3.07732092e-02,\n",
       "        3.31005948e-02, 5.12024825e-02, 6.74941815e-02, 7.60279286e-02,\n",
       "        8.76648565e-02, 1.19213861e-01, 1.49469873e-01, 1.86708042e-01,\n",
       "        2.75665891e-01, 3.93328161e-01, 5.38143264e-01, 5.46159814e-01,\n",
       "        7.14765968e-01, 8.89061288e-01, 1.00000000e+00]))"
      ]
     },
     "execution_count": 105,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 105
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "随机森林",
   "id": "68b6efb45945e23a"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:35:56.255563Z",
     "start_time": "2024-09-18T13:35:55.250028Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, random_state=0)\n",
    "clf = RandomForestClassifier(n_estimators=10, max_depth=3, min_samples_split=12, random_state=0)\n",
    "model_clf(clf)"
   ],
   "id": "b5bd98d5ae776029",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.5797300566733228\n",
      "Test AUC Score 0.5715211841924188\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.00000000e+00, 1.65510849e-05, 4.96532548e-05, ...,\n",
       "        9.75322332e-01, 9.88976977e-01, 1.00000000e+00]),\n",
       " array([0.        , 0.        , 0.        , ..., 0.9842255 , 0.99405224,\n",
       "        1.        ]))"
      ]
     },
     "execution_count": 106,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 106
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "ExTree模型",
   "id": "ae926c14f57557f"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:35:59.855382Z",
     "start_time": "2024-09-18T13:35:57.196646Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, random_state=0)\n",
    "clf = ExtraTreesClassifier(n_estimators=10, max_depth=None, min_samples_split=2, random_state=0)\n",
    "model_clf(clf)"
   ],
   "id": "82a47f9be795acb4",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.9979673944771675\n",
      "Test AUC Score 0.5337288083891256\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.        , 0.01317466, 0.01320777, 0.01337328, 0.01343948,\n",
       "        0.01347258, 0.01964614, 0.01966269, 0.0198613 , 0.0198944 ,\n",
       "        0.01991096, 0.01994406, 0.01997716, 0.02259223, 0.02260878,\n",
       "        0.02265844, 0.02267499, 0.02270809, 0.02270809, 0.02275774,\n",
       "        0.02456181, 0.02681276, 0.02706102, 0.02714378, 0.02716033,\n",
       "        0.02722653, 0.02722653, 0.0426687 , 0.04268525, 0.04298317,\n",
       "        0.04304937, 0.04304937, 0.04308247, 0.04339694, 0.0434135 ,\n",
       "        0.0434466 , 0.04346315, 0.05243384, 0.05250004, 0.05298002,\n",
       "        0.0541055 , 0.05455238, 0.05465168, 0.05471789, 0.05473444,\n",
       "        0.12136911, 0.12160082, 0.12163392, 0.12267664, 0.12299111,\n",
       "        0.12299111, 0.12307387, 0.12378556, 0.12380212, 0.12388487,\n",
       "        0.12393452, 0.14942319, 0.1494563 , 0.14957215, 0.14958871,\n",
       "        0.15491815, 0.15594432, 0.15615949, 0.15620914, 0.15654016,\n",
       "        0.15657326, 0.15658981, 0.3593075 , 0.3593406 , 0.35935716,\n",
       "        0.36056539, 0.36063159, 0.36092951, 0.36094606, 0.36101226,\n",
       "        0.3623529 , 0.36236945, 0.36243566, 0.36258462, 0.36261772,\n",
       "        0.40341614, 0.40344925, 0.4035651 , 0.41167514, 0.41169169,\n",
       "        0.41331369, 0.41352886, 0.41364471, 0.41367782, 0.41369437,\n",
       "        1.        ]),\n",
       " array([0.        , 0.01991208, 0.01991208, 0.02068787, 0.02094647,\n",
       "        0.02094647, 0.02922162, 0.02922162, 0.02999741, 0.02999741,\n",
       "        0.02999741, 0.02999741, 0.02999741, 0.03413499, 0.03413499,\n",
       "        0.03413499, 0.03413499, 0.03439359, 0.03465219, 0.03491078,\n",
       "        0.03801396, 0.04111715, 0.04137574, 0.04137574, 0.04137574,\n",
       "        0.04189294, 0.04215154, 0.06102922, 0.06102922, 0.06128782,\n",
       "        0.06154642, 0.06180502, 0.06206362, 0.06258081, 0.06258081,\n",
       "        0.06283941, 0.06283941, 0.07318335, 0.07318335, 0.07370054,\n",
       "        0.07473494, 0.07551073, 0.07551073, 0.07576933, 0.07576933,\n",
       "        0.15490044, 0.15490044, 0.15490044, 0.15567623, 0.15593483,\n",
       "        0.15619343, 0.15645203, 0.15748642, 0.15748642, 0.15748642,\n",
       "        0.15748642, 0.18722524, 0.18722524, 0.18748384, 0.18748384,\n",
       "        0.19524179, 0.19627618, 0.19653478, 0.19653478, 0.19653478,\n",
       "        0.19679338, 0.19679338, 0.41505043, 0.41505043, 0.41505043,\n",
       "        0.41634342, 0.41634342, 0.41660202, 0.41660202, 0.41660202,\n",
       "        0.41686062, 0.41686062, 0.41686062, 0.41686062, 0.41686062,\n",
       "        0.46392552, 0.46392552, 0.46444272, 0.47142488, 0.47142488,\n",
       "        0.47168348, 0.47168348, 0.47168348, 0.47194207, 0.47194207,\n",
       "        1.        ]))"
      ]
     },
     "execution_count": 107,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 107
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "Adaboost",
   "id": "42f759f3039c7674"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:36:02.255630Z",
     "start_time": "2024-09-18T13:35:59.856388Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, random_state=0)\n",
    "clf = AdaBoostClassifier(n_estimators=10)\n",
    "model_clf(clf)"
   ],
   "id": "88d5766c0a944a5a",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.5836438805860764\n",
      "Test AUC Score 0.5730243325815666\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.00000000e+00, 8.27554246e-05, 3.47572783e-04, 1.70476175e-03,\n",
       "        3.02884854e-03, 3.17780831e-03, 5.14738741e-03, 8.97068803e-03,\n",
       "        1.58559394e-02, 2.07054072e-02, 2.16984723e-02, 2.21950049e-02,\n",
       "        2.48100763e-02, 2.58527947e-02, 5.88722091e-02, 6.81408166e-02,\n",
       "        6.81739188e-02, 7.18482597e-02, 7.64329102e-02, 7.75583840e-02,\n",
       "        7.82535295e-02, 8.28878333e-02, 8.64959698e-02, 8.65125209e-02,\n",
       "        8.98061868e-02, 9.55825154e-02, 1.06208312e-01, 1.98530264e-01,\n",
       "        2.02866648e-01, 2.03048710e-01, 2.06905113e-01, 2.10695311e-01,\n",
       "        2.11870438e-01, 2.12019398e-01, 2.12184909e-01, 2.30953839e-01,\n",
       "        2.45998775e-01, 2.46247041e-01, 2.49176584e-01, 2.50417915e-01,\n",
       "        2.53512968e-01, 2.59338950e-01, 2.59802380e-01, 2.82858041e-01,\n",
       "        3.02239362e-01, 3.05019944e-01, 3.05036495e-01, 3.06708155e-01,\n",
       "        3.07403300e-01, 3.11292805e-01, 3.12881709e-01, 3.12947914e-01,\n",
       "        3.13129976e-01, 3.13146527e-01, 3.26784621e-01, 3.54772505e-01,\n",
       "        3.70396730e-01, 3.70611894e-01, 3.70727751e-01, 3.74484847e-01,\n",
       "        3.83058309e-01, 3.85673381e-01, 3.85689932e-01, 3.99857661e-01,\n",
       "        4.14703984e-01, 4.14770188e-01, 4.19536901e-01, 4.19669309e-01,\n",
       "        4.19917576e-01, 4.19967229e-01, 4.28457935e-01, 4.39811980e-01,\n",
       "        4.39861633e-01, 4.40027144e-01, 4.43304259e-01, 4.45985534e-01,\n",
       "        4.47028253e-01, 4.48203380e-01, 4.50785349e-01, 4.51132922e-01,\n",
       "        4.52142538e-01, 4.52192191e-01, 4.72202453e-01, 5.19389596e-01,\n",
       "        5.24255615e-01, 5.48751221e-01, 5.75348814e-01, 5.76739105e-01,\n",
       "        5.77699068e-01, 6.13962495e-01, 6.16627220e-01, 6.16825833e-01,\n",
       "        6.16875486e-01, 6.17206508e-01, 6.17223059e-01, 6.22386997e-01,\n",
       "        6.22734570e-01, 6.25945481e-01, 6.25962032e-01, 6.26011685e-01,\n",
       "        6.26822688e-01, 6.29686026e-01, 6.29719128e-01, 6.31589401e-01,\n",
       "        6.31870769e-01, 6.31920422e-01, 6.32152138e-01, 6.42182095e-01,\n",
       "        6.51070028e-01, 6.51103130e-01, 6.75830451e-01, 6.75863553e-01,\n",
       "        6.83311541e-01, 6.84999752e-01, 6.87532068e-01, 6.87565170e-01,\n",
       "        6.87631374e-01, 6.99812973e-01, 7.56318377e-01, 7.56516990e-01,\n",
       "        7.57195584e-01, 7.57410748e-01, 7.57476953e-01, 7.73465301e-01,\n",
       "        7.73912180e-01, 7.74276304e-01, 8.70454658e-01, 8.70487760e-01,\n",
       "        8.70520863e-01, 8.70537414e-01, 8.72258727e-01, 8.72324931e-01,\n",
       "        8.72705606e-01, 8.72804912e-01, 8.72821463e-01, 8.86327149e-01,\n",
       "        9.00643837e-01, 9.01719658e-01, 9.02149986e-01, 9.02365150e-01,\n",
       "        9.03093398e-01, 9.03722339e-01, 9.03805094e-01, 9.22590576e-01,\n",
       "        9.26480081e-01, 9.29955809e-01, 9.30005462e-01, 9.30121319e-01,\n",
       "        9.32157103e-01, 9.32239858e-01, 9.32256409e-01, 9.32438471e-01,\n",
       "        9.32504676e-01, 9.32554329e-01, 9.56073421e-01, 9.56089972e-01,\n",
       "        9.56735464e-01, 9.64961353e-01, 9.67758487e-01, 9.67775038e-01,\n",
       "        9.67857793e-01, 9.68023304e-01, 9.69430146e-01, 9.70406660e-01,\n",
       "        9.72177626e-01, 9.72839670e-01, 9.73021732e-01, 9.73054834e-01,\n",
       "        9.73104487e-01, 9.73253447e-01, 9.73799633e-01, 9.73849286e-01,\n",
       "        9.74809249e-01, 9.77142952e-01, 9.77209156e-01, 9.77358116e-01,\n",
       "        9.80105596e-01, 9.80204902e-01, 9.91939622e-01, 9.91956173e-01,\n",
       "        9.92254092e-01, 9.92353399e-01, 9.92403052e-01, 9.92568563e-01,\n",
       "        9.92849931e-01, 9.92866482e-01, 9.92899585e-01, 9.94091263e-01,\n",
       "        9.94852613e-01, 9.94885715e-01, 9.94951919e-01, 9.98013870e-01,\n",
       "        9.98080074e-01, 9.98129727e-01, 9.98874526e-01, 9.98907628e-01,\n",
       "        9.99139344e-01, 9.99751734e-01, 9.99867591e-01, 9.99983449e-01,\n",
       "        1.00000000e+00]),\n",
       " array([0.00000000e+00, 2.58598397e-04, 1.03439359e-03, 4.65477114e-03,\n",
       "        6.98215671e-03, 6.98215671e-03, 1.03439359e-02, 2.01706749e-02,\n",
       "        2.94802172e-02, 3.74967675e-02, 4.03413499e-02, 4.08585467e-02,\n",
       "        4.52547194e-02, 4.68063098e-02, 9.72329972e-02, 1.14300491e-01,\n",
       "        1.14559090e-01, 1.19472459e-01, 1.25161624e-01, 1.26971813e-01,\n",
       "        1.26971813e-01, 1.37574347e-01, 1.43780709e-01, 1.43780709e-01,\n",
       "        1.46366693e-01, 1.55417636e-01, 1.68088958e-01, 2.88854409e-01,\n",
       "        2.94543574e-01, 2.95060771e-01, 3.01008534e-01, 3.05663305e-01,\n",
       "        3.06956297e-01, 3.06956297e-01, 3.07214895e-01, 3.32816137e-01,\n",
       "        3.45746056e-01, 3.46521852e-01, 3.49625032e-01, 3.50918024e-01,\n",
       "        3.53245410e-01, 3.57382984e-01, 3.57641583e-01, 3.83760021e-01,\n",
       "        4.03930696e-01, 4.05223688e-01, 4.05223688e-01, 4.06258081e-01,\n",
       "        4.06516680e-01, 4.12723041e-01, 4.16343419e-01, 4.16343419e-01,\n",
       "        4.16602017e-01, 4.16602017e-01, 4.29273339e-01, 4.56167572e-01,\n",
       "        4.73493664e-01, 4.73493664e-01, 4.73752263e-01, 4.77889837e-01,\n",
       "        4.88750970e-01, 4.90302560e-01, 4.90302560e-01, 5.01939488e-01,\n",
       "        5.22885958e-01, 5.22885958e-01, 5.25213344e-01, 5.25471942e-01,\n",
       "        5.25730540e-01, 5.25730540e-01, 5.33747091e-01, 5.46677011e-01,\n",
       "        5.46677011e-01, 5.46677011e-01, 5.50555987e-01, 5.51590380e-01,\n",
       "        5.52107577e-01, 5.53917766e-01, 5.54693561e-01, 5.55469356e-01,\n",
       "        5.56245151e-01, 5.56245151e-01, 5.74605637e-01, 6.20636152e-01,\n",
       "        6.25808120e-01, 6.48047582e-01, 6.68476855e-01, 6.68994052e-01,\n",
       "        6.68994052e-01, 7.07266615e-01, 7.09594001e-01, 7.10369796e-01,\n",
       "        7.10369796e-01, 7.10628394e-01, 7.10628394e-01, 7.15024567e-01,\n",
       "        7.15541764e-01, 7.18127748e-01, 7.18127748e-01, 7.18127748e-01,\n",
       "        7.18644944e-01, 7.23041117e-01, 7.23299716e-01, 7.24592708e-01,\n",
       "        7.24851306e-01, 7.24851306e-01, 7.25368503e-01, 7.35971037e-01,\n",
       "        7.42694595e-01, 7.42694595e-01, 7.62348073e-01, 7.62348073e-01,\n",
       "        7.68295837e-01, 7.68813033e-01, 7.70364624e-01, 7.70364624e-01,\n",
       "        7.70364624e-01, 7.80967158e-01, 8.24928885e-01, 8.25187484e-01,\n",
       "        8.25704681e-01, 8.26221877e-01, 8.26480476e-01, 8.37341608e-01,\n",
       "        8.37600207e-01, 8.37600207e-01, 9.06645979e-01, 9.06904577e-01,\n",
       "        9.06904577e-01, 9.06904577e-01, 9.08973364e-01, 9.08973364e-01,\n",
       "        9.09490561e-01, 9.09490561e-01, 9.09490561e-01, 9.17507111e-01,\n",
       "        9.30695630e-01, 9.31212826e-01, 9.31471425e-01, 9.31730023e-01,\n",
       "        9.32505818e-01, 9.33281614e-01, 9.33281614e-01, 9.48797517e-01,\n",
       "        9.50090509e-01, 9.51900698e-01, 9.51900698e-01, 9.51900698e-01,\n",
       "        9.52935092e-01, 9.52935092e-01, 9.52935092e-01, 9.53193690e-01,\n",
       "        9.53193690e-01, 9.53193690e-01, 9.70519783e-01, 9.70519783e-01,\n",
       "        9.71295578e-01, 9.77243341e-01, 9.79570727e-01, 9.79570727e-01,\n",
       "        9.79829325e-01, 9.79829325e-01, 9.80863719e-01, 9.81639514e-01,\n",
       "        9.82415309e-01, 9.82932506e-01, 9.83191104e-01, 9.83191104e-01,\n",
       "        9.83449703e-01, 9.83708301e-01, 9.84225498e-01, 9.84225498e-01,\n",
       "        9.84484096e-01, 9.85259891e-01, 9.85518490e-01, 9.85518490e-01,\n",
       "        9.87845875e-01, 9.87845875e-01, 9.95862426e-01, 9.95862426e-01,\n",
       "        9.95862426e-01, 9.95862426e-01, 9.95862426e-01, 9.96379622e-01,\n",
       "        9.96379622e-01, 9.96379622e-01, 9.96379622e-01, 9.96638221e-01,\n",
       "        9.96896819e-01, 9.96896819e-01, 9.96896819e-01, 9.98448410e-01,\n",
       "        9.98448410e-01, 9.98448410e-01, 9.99224205e-01, 9.99224205e-01,\n",
       "        9.99224205e-01, 9.99741402e-01, 1.00000000e+00, 1.00000000e+00,\n",
       "        1.00000000e+00]))"
      ]
     },
     "execution_count": 108,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 108
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "GBDT",
   "id": "781288e871ed641f"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:36:06.015874Z",
     "start_time": "2024-09-18T13:36:03.617564Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, random_state=0)\n",
    "clf = GradientBoostingClassifier(n_estimators=10, learning_rate=1.0, max_depth=1, random_state=0)\n",
    "model_clf(clf)"
   ],
   "id": "adfecf1854ee4984",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.5835221995665941\n",
      "Test AUC Score 0.5766901539273581\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(array([0.00000000e+00, 6.62043397e-05, 9.93065095e-05, 6.62043397e-04,\n",
       "        9.93065095e-04, 1.10892269e-03, 1.34394810e-02, 1.36546451e-02,\n",
       "        1.36711961e-02, 1.42670352e-02, 1.57731839e-02, 1.59552459e-02,\n",
       "        1.96130356e-02, 1.99771595e-02, 2.01592214e-02, 2.06557540e-02,\n",
       "        2.23439646e-02, 3.96563995e-02, 3.97391549e-02, 4.64092421e-02,\n",
       "        5.01663384e-02, 5.25331435e-02, 5.28476142e-02, 5.28641652e-02,\n",
       "        5.39565369e-02, 5.43703140e-02, 5.47509889e-02, 5.57109519e-02,\n",
       "        5.94349460e-02, 6.26127543e-02, 1.80473030e-01, 1.82525365e-01,\n",
       "        1.87854814e-01, 1.87887916e-01, 1.88119631e-01, 1.93300121e-01,\n",
       "        1.94111124e-01, 1.94226982e-01, 2.05299657e-01, 2.05779639e-01,\n",
       "        2.10447045e-01, 2.18043993e-01, 2.18143299e-01, 2.25955411e-01,\n",
       "        2.31483474e-01, 2.32128966e-01, 2.36647412e-01, 2.41943759e-01,\n",
       "        2.42158924e-01, 2.94460352e-01, 2.97803671e-01, 2.98780185e-01,\n",
       "        2.98978798e-01, 3.13312038e-01, 3.14222347e-01, 3.19601450e-01,\n",
       "        3.22762707e-01, 3.73690395e-01, 3.75808934e-01, 3.86815406e-01,\n",
       "        3.86831957e-01, 4.09738658e-01, 4.16259786e-01, 4.16640461e-01,\n",
       "        4.33340505e-01, 4.35094920e-01, 4.66442675e-01, 4.73609295e-01,\n",
       "        4.74023072e-01, 4.75429914e-01, 4.90623810e-01, 4.90690015e-01,\n",
       "        4.99081415e-01, 5.07754183e-01, 5.09972029e-01, 5.12388487e-01,\n",
       "        5.13580165e-01, 5.58897036e-01, 6.00705076e-01, 6.03038779e-01,\n",
       "        6.03386352e-01, 6.46468826e-01, 6.50606597e-01, 6.64211589e-01,\n",
       "        7.02477697e-01, 7.04827951e-01, 7.05556199e-01, 7.07972658e-01,\n",
       "        7.07989209e-01, 7.08816763e-01, 7.09065029e-01, 7.36423973e-01,\n",
       "        7.37681855e-01, 7.37714957e-01, 7.52875751e-01, 7.54117082e-01,\n",
       "        7.59860309e-01, 7.84620732e-01, 7.84670385e-01, 7.86590311e-01,\n",
       "        8.40348235e-01, 9.32802595e-01, 9.32968106e-01, 9.47119284e-01,\n",
       "        9.47566163e-01, 9.47880634e-01, 9.55957563e-01, 9.57778182e-01,\n",
       "        9.69910128e-01, 9.70390109e-01, 9.70439762e-01, 9.72823119e-01,\n",
       "        9.75703007e-01, 9.94670551e-01, 9.95514656e-01, 9.97087009e-01,\n",
       "        9.99271752e-01, 9.99751734e-01, 1.00000000e+00]),\n",
       " array([0.00000000e+00, 5.17196793e-04, 1.03439359e-03, 2.84458236e-03,\n",
       "        3.87897595e-03, 4.39617274e-03, 2.63770365e-02, 2.66356349e-02,\n",
       "        2.66356349e-02, 2.76700284e-02, 3.20662012e-02, 3.23247996e-02,\n",
       "        4.03413499e-02, 4.16343419e-02, 4.18929403e-02, 4.37031290e-02,\n",
       "        4.52547194e-02, 6.98215671e-02, 6.98215671e-02, 8.43030773e-02,\n",
       "        8.92164469e-02, 9.23196276e-02, 9.36126196e-02, 9.36126196e-02,\n",
       "        9.61986036e-02, 9.61986036e-02, 9.69743988e-02, 9.93017843e-02,\n",
       "        1.03956555e-01, 1.08611327e-01, 2.61184381e-01, 2.63511766e-01,\n",
       "        2.71528317e-01, 2.71528317e-01, 2.72045513e-01, 2.78510473e-01,\n",
       "        2.80062064e-01, 2.80579260e-01, 2.92733385e-01, 2.93250582e-01,\n",
       "        3.01267132e-01, 3.08507887e-01, 3.09025084e-01, 3.19369020e-01,\n",
       "        3.26609775e-01, 3.27644169e-01, 3.34109129e-01, 3.39022498e-01,\n",
       "        3.39798293e-01, 3.99017326e-01, 4.00051720e-01, 4.01086113e-01,\n",
       "        4.01086113e-01, 4.16602017e-01, 4.18153607e-01, 4.25911559e-01,\n",
       "        4.30824929e-01, 4.86164986e-01, 4.87716576e-01, 4.95215930e-01,\n",
       "        4.95474528e-01, 5.23144557e-01, 5.28833721e-01, 5.29092320e-01,\n",
       "        5.45125420e-01, 5.46935609e-01, 5.78484613e-01, 5.83397983e-01,\n",
       "        5.83656581e-01, 5.84173778e-01, 5.97103698e-01, 5.97362296e-01,\n",
       "        6.06671839e-01, 6.13136799e-01, 6.14171192e-01, 6.16498578e-01,\n",
       "        6.17532971e-01, 6.57874321e-01, 6.92785105e-01, 6.94595294e-01,\n",
       "        6.94595294e-01, 7.37005431e-01, 7.39332816e-01, 7.50969744e-01,\n",
       "        7.86139126e-01, 7.88725110e-01, 7.90018102e-01, 7.92345487e-01,\n",
       "        7.92345487e-01, 7.92604086e-01, 7.92862684e-01, 8.16395138e-01,\n",
       "        8.17429532e-01, 8.17429532e-01, 8.29325058e-01, 8.30359452e-01,\n",
       "        8.34238428e-01, 8.56995087e-01, 8.57253685e-01, 8.57512283e-01,\n",
       "        9.00181019e-01, 9.62503232e-01, 9.62761831e-01, 9.70519783e-01,\n",
       "        9.70519783e-01, 9.70778381e-01, 9.75174554e-01, 9.76726144e-01,\n",
       "        9.83449703e-01, 9.83708301e-01, 9.83708301e-01, 9.84484096e-01,\n",
       "        9.85518490e-01, 9.97155418e-01, 9.97672614e-01, 9.99224205e-01,\n",
       "        1.00000000e+00, 1.00000000e+00, 1.00000000e+00]))"
      ]
     },
     "execution_count": 109,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "execution_count": 109
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "lgb",
   "id": "6ce0b7f93d44ddfd"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:36:06.113795Z",
     "start_time": "2024-09-18T13:36:06.016872Z"
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, test_size=0.4, random_state=0)\n",
    "X_test, X_valid, y_test, y_valid = train_test_split(X_test, y_test, test_size=0.5, random_state=0)\n",
    "clf = lightgbm\n",
    "train_matrix = clf.Dataset(X_train, label=y_train)\n",
    "test_matrix = clf.Dataset(X_test, label=y_test)\n",
    "params = {\n",
    "          'boosting_type': 'gbdt',\n",
    "          #'boosting_type': 'dart',\n",
    "          'objective': 'multiclass',\n",
    "          'metric': 'multi_logloss',\n",
    "          'min_child_weight': 1.5,\n",
    "          'num_leaves': 2**5,\n",
    "          'lambda_l2': 10,\n",
    "          'subsample': 0.7,\n",
    "          'colsample_bytree': 0.7,\n",
    "          'colsample_bylevel': 0.7,\n",
    "          'learning_rate': 0.03,\n",
    "          'tree_method': 'exact',\n",
    "          'seed': 2017,\n",
    "          \"num_class\": 2,\n",
    "          'silent': True,\n",
    "          }\n",
    "num_round = 10000\n",
    "early_stopping_rounds = 100\n",
    "model = clf.train(params, \n",
    "                  train_matrix,\n",
    "                  num_round,\n",
    "                  valid_sets=test_matrix,\n",
    "                  early_stopping_rounds=early_stopping_rounds)\n",
    "\n",
    "y_train_pred = model.predict(X_train,num_iteration=model.best_iteration)\n",
    "y_train_pred_pos = y_train_pred[:,1]\n",
    "\n",
    "y_test_pred = model.predict(X_valid,num_iteration=model.best_iteration)\n",
    "y_test_pred_pos = y_test_pred[:,1]\n",
    "\n",
    "auc_train = roc_auc_score(y_train, y_train_pred_pos)#AUC评分\n",
    "\n",
    "auc_test = roc_auc_score(y_valid, y_test_pred_pos)\n",
    "\n",
    "print(f\"Train AUC Score {auc_train}\")\n",
    "print(f\"Test AUC Score {auc_test}\")\n",
    "\n",
    "fpr, tpr, _ = roc_curve(y_valid,y_test_pred_pos)#绘制ROC曲线"
   ],
   "id": "5b1560aab6fd6f79",
   "outputs": [
    {
     "ename": "TypeError",
     "evalue": "train() got an unexpected keyword argument 'early_stopping_rounds'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mTypeError\u001B[0m                                 Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[110], line 25\u001B[0m\n\u001B[0;32m     23\u001B[0m num_round \u001B[38;5;241m=\u001B[39m \u001B[38;5;241m10000\u001B[39m\n\u001B[0;32m     24\u001B[0m early_stopping_rounds \u001B[38;5;241m=\u001B[39m \u001B[38;5;241m100\u001B[39m\n\u001B[1;32m---> 25\u001B[0m model \u001B[38;5;241m=\u001B[39m clf\u001B[38;5;241m.\u001B[39mtrain(params, \n\u001B[0;32m     26\u001B[0m                   train_matrix,\n\u001B[0;32m     27\u001B[0m                   num_round,\n\u001B[0;32m     28\u001B[0m                   valid_sets\u001B[38;5;241m=\u001B[39mtest_matrix,\n\u001B[0;32m     29\u001B[0m                   early_stopping_rounds\u001B[38;5;241m=\u001B[39mearly_stopping_rounds)\n\u001B[0;32m     31\u001B[0m y_train_pred \u001B[38;5;241m=\u001B[39m model\u001B[38;5;241m.\u001B[39mpredict(X_train,num_iteration\u001B[38;5;241m=\u001B[39mmodel\u001B[38;5;241m.\u001B[39mbest_iteration)\n\u001B[0;32m     32\u001B[0m y_train_pred_pos \u001B[38;5;241m=\u001B[39m y_train_pred[:,\u001B[38;5;241m1\u001B[39m]\n",
      "\u001B[1;31mTypeError\u001B[0m: train() got an unexpected keyword argument 'early_stopping_rounds'"
     ]
    }
   ],
   "execution_count": 110
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "",
   "id": "83d08a804a6b7588"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:38:59.935691Z",
     "start_time": "2024-09-18T13:38:59.931927Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def plot_auc_curve(fpr, tpr, auc):\n",
    "    plt.figure(figsize = (16,6))\n",
    "    plt.plot(fpr,tpr,'b+',linestyle = '-')\n",
    "    plt.fill_between(fpr, tpr, alpha = 0.5)\n",
    "    plt.ylabel('True Postive Rate')\n",
    "    plt.xlabel('False Postive Rate')\n",
    "    plt.title(f'ROC Curve Having AUC = {auc}')"
   ],
   "id": "8abd6a5a243f739d",
   "outputs": [],
   "execution_count": 111
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:39:03.080920Z",
     "start_time": "2024-09-18T13:39:03.065750Z"
    }
   },
   "cell_type": "code",
   "source": "plot_auc_curve(fpr, tpr, auc_test)",
   "id": "cc3210efa3c154f3",
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'fpr' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mNameError\u001B[0m                                 Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[112], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m plot_auc_curve(fpr, tpr, auc_test)\n",
      "\u001B[1;31mNameError\u001B[0m: name 'fpr' is not defined"
     ]
    }
   ],
   "execution_count": 112
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "xgb",
   "id": "af61e018c10889d8"
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:39:55.935010Z",
     "start_time": "2024-09-18T13:39:13.134409Z"
    }
   },
   "cell_type": "code",
   "source": [
    "import xgboost\n",
    "\n",
    "X_train, X_test, y_train, y_test = train_test_split(train_data, target, test_size=0.4, random_state=0)\n",
    "X_test, X_valid, y_test, y_valid = train_test_split(X_test, y_test, test_size=0.5, random_state=0)\n",
    "\n",
    "clf = xgboost\n",
    "\n",
    "train_matrix = clf.DMatrix(X_train, label=y_train, missing=-1)\n",
    "test_matrix = clf.DMatrix(X_test, label=y_test, missing=-1)\n",
    "z = clf.DMatrix(X_valid, label=y_valid, missing=-1)\n",
    "params = {'booster': 'gbtree',\n",
    "          'objective': 'multi:softprob',\n",
    "          'eval_metric': 'mlogloss',\n",
    "          'gamma': 1,\n",
    "          'min_child_weight': 1.5,\n",
    "          'max_depth': 5,\n",
    "          'lambda': 100,\n",
    "          'subsample': 0.7,\n",
    "          'colsample_bytree': 0.7,\n",
    "          'colsample_bylevel': 0.7,\n",
    "          'eta': 0.03,\n",
    "          'tree_method': 'exact',\n",
    "          'seed': 2017,\n",
    "          \"num_class\": 2\n",
    "          }\n",
    "score_dict={}\n",
    "num_round = 10000\n",
    "early_stopping_rounds = 100\n",
    "watchlist = [(train_matrix, 'train'),\n",
    "             (test_matrix, 'eval')\n",
    "             ]\n",
    "model = clf.train(params,\n",
    "                  train_matrix,\n",
    "                  num_boost_round=num_round,#训练的轮数，即生成的树的数量\n",
    "                  evals=watchlist,#训练时用于评估模型的数据集合，用户可以通过验证集来评估模型好坏\n",
    "                  early_stopping_rounds=early_stopping_rounds,\n",
    "                  #激活早停止，当验证的错误率early_stopping_rounds轮未下降，则停止训练。\n",
    "                  #如果发生了早停止，则模型会提供三个额外的字段：bst.best_score, bst.best_iteration 和 bst.best_ntree_limit\n",
    "                  evals_result =score_dict\n",
    "                  )\n",
    "y_train_pred = model.predict(train_matrix ,ntree_limit=model.best_iteration)#ntree_limit  用于预测的树的数量\n",
    "y_train_pred_pos = y_train_pred[:,1]\n",
    "\n",
    "y_test_pred = model.predict(z,ntree_limit=model.best_iteration)\n",
    "y_test_pred_pos = y_test_pred[:,1]\n",
    "\n",
    "auc_train = roc_auc_score(y_train, y_train_pred_pos)#AUC评分\n",
    "\n",
    "auc_test = roc_auc_score(y_valid, y_test_pred_pos)\n",
    "\n",
    "print(f\"Train AUC Score {auc_train}\")\n",
    "print(f\"Test AUC Score {auc_test}\")\n",
    "\n",
    "fpr, tpr, _ = roc_curve(y_valid,y_test_pred_pos)#绘制ROC曲线"
   ],
   "id": "31e6adf530ed158c",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[0]\ttrain-mlogloss:0.67057\teval-mlogloss:0.67051\n",
      "[1]\ttrain-mlogloss:0.64930\teval-mlogloss:0.64918\n",
      "[2]\ttrain-mlogloss:0.62924\teval-mlogloss:0.62907\n",
      "[3]\ttrain-mlogloss:0.61028\teval-mlogloss:0.61006\n",
      "[4]\ttrain-mlogloss:0.59236\teval-mlogloss:0.59208\n",
      "[5]\ttrain-mlogloss:0.57542\teval-mlogloss:0.57509\n",
      "[6]\ttrain-mlogloss:0.55936\teval-mlogloss:0.55898\n",
      "[7]\ttrain-mlogloss:0.54415\teval-mlogloss:0.54373\n",
      "[8]\ttrain-mlogloss:0.52972\teval-mlogloss:0.52925\n",
      "[9]\ttrain-mlogloss:0.51603\teval-mlogloss:0.51551\n",
      "[10]\ttrain-mlogloss:0.50303\teval-mlogloss:0.50247\n",
      "[11]\ttrain-mlogloss:0.49069\teval-mlogloss:0.49008\n",
      "[12]\ttrain-mlogloss:0.47890\teval-mlogloss:0.47825\n",
      "[13]\ttrain-mlogloss:0.46771\teval-mlogloss:0.46702\n",
      "[14]\ttrain-mlogloss:0.45705\teval-mlogloss:0.45632\n",
      "[15]\ttrain-mlogloss:0.44691\teval-mlogloss:0.44614\n",
      "[16]\ttrain-mlogloss:0.43726\teval-mlogloss:0.43646\n",
      "[17]\ttrain-mlogloss:0.42805\teval-mlogloss:0.42721\n",
      "[18]\ttrain-mlogloss:0.41926\teval-mlogloss:0.41838\n",
      "[19]\ttrain-mlogloss:0.41088\teval-mlogloss:0.40996\n",
      "[20]\ttrain-mlogloss:0.40287\teval-mlogloss:0.40192\n",
      "[21]\ttrain-mlogloss:0.39524\teval-mlogloss:0.39425\n",
      "[22]\ttrain-mlogloss:0.38794\teval-mlogloss:0.38692\n",
      "[23]\ttrain-mlogloss:0.38098\teval-mlogloss:0.37994\n",
      "[24]\ttrain-mlogloss:0.37432\teval-mlogloss:0.37325\n",
      "[25]\ttrain-mlogloss:0.36796\teval-mlogloss:0.36686\n",
      "[26]\ttrain-mlogloss:0.36188\teval-mlogloss:0.36074\n",
      "[27]\ttrain-mlogloss:0.35607\teval-mlogloss:0.35491\n",
      "[28]\ttrain-mlogloss:0.35053\teval-mlogloss:0.34933\n",
      "[29]\ttrain-mlogloss:0.34522\teval-mlogloss:0.34400\n",
      "[30]\ttrain-mlogloss:0.34015\teval-mlogloss:0.33890\n",
      "[31]\ttrain-mlogloss:0.33530\teval-mlogloss:0.33402\n",
      "[32]\ttrain-mlogloss:0.33065\teval-mlogloss:0.32935\n",
      "[33]\ttrain-mlogloss:0.32620\teval-mlogloss:0.32487\n",
      "[34]\ttrain-mlogloss:0.32196\teval-mlogloss:0.32060\n",
      "[35]\ttrain-mlogloss:0.31790\teval-mlogloss:0.31652\n",
      "[36]\ttrain-mlogloss:0.31403\teval-mlogloss:0.31262\n",
      "[37]\ttrain-mlogloss:0.31032\teval-mlogloss:0.30890\n",
      "[38]\ttrain-mlogloss:0.30677\teval-mlogloss:0.30532\n",
      "[39]\ttrain-mlogloss:0.30336\teval-mlogloss:0.30188\n",
      "[40]\ttrain-mlogloss:0.30011\teval-mlogloss:0.29861\n",
      "[41]\ttrain-mlogloss:0.29700\teval-mlogloss:0.29549\n",
      "[42]\ttrain-mlogloss:0.29403\teval-mlogloss:0.29249\n",
      "[43]\ttrain-mlogloss:0.29118\teval-mlogloss:0.28962\n",
      "[44]\ttrain-mlogloss:0.28845\teval-mlogloss:0.28688\n",
      "[45]\ttrain-mlogloss:0.28585\teval-mlogloss:0.28425\n",
      "[46]\ttrain-mlogloss:0.28334\teval-mlogloss:0.28173\n",
      "[47]\ttrain-mlogloss:0.28094\teval-mlogloss:0.27932\n",
      "[48]\ttrain-mlogloss:0.27866\teval-mlogloss:0.27701\n",
      "[49]\ttrain-mlogloss:0.27647\teval-mlogloss:0.27481\n",
      "[50]\ttrain-mlogloss:0.27437\teval-mlogloss:0.27269\n",
      "[51]\ttrain-mlogloss:0.27237\teval-mlogloss:0.27068\n",
      "[52]\ttrain-mlogloss:0.27047\teval-mlogloss:0.26877\n",
      "[53]\ttrain-mlogloss:0.26865\teval-mlogloss:0.26693\n",
      "[54]\ttrain-mlogloss:0.26690\teval-mlogloss:0.26517\n",
      "[55]\ttrain-mlogloss:0.26522\teval-mlogloss:0.26348\n",
      "[56]\ttrain-mlogloss:0.26362\teval-mlogloss:0.26187\n",
      "[57]\ttrain-mlogloss:0.26209\teval-mlogloss:0.26033\n",
      "[58]\ttrain-mlogloss:0.26063\teval-mlogloss:0.25886\n",
      "[59]\ttrain-mlogloss:0.25923\teval-mlogloss:0.25745\n",
      "[60]\ttrain-mlogloss:0.25789\teval-mlogloss:0.25611\n",
      "[61]\ttrain-mlogloss:0.25661\teval-mlogloss:0.25481\n",
      "[62]\ttrain-mlogloss:0.25539\teval-mlogloss:0.25359\n",
      "[63]\ttrain-mlogloss:0.25422\teval-mlogloss:0.25241\n",
      "[64]\ttrain-mlogloss:0.25310\teval-mlogloss:0.25129\n",
      "[65]\ttrain-mlogloss:0.25203\teval-mlogloss:0.25021\n",
      "[66]\ttrain-mlogloss:0.25102\teval-mlogloss:0.24920\n",
      "[67]\ttrain-mlogloss:0.25004\teval-mlogloss:0.24822\n",
      "[68]\ttrain-mlogloss:0.24911\teval-mlogloss:0.24729\n",
      "[69]\ttrain-mlogloss:0.24822\teval-mlogloss:0.24640\n",
      "[70]\ttrain-mlogloss:0.24738\teval-mlogloss:0.24555\n",
      "[71]\ttrain-mlogloss:0.24656\teval-mlogloss:0.24474\n",
      "[72]\ttrain-mlogloss:0.24579\teval-mlogloss:0.24396\n",
      "[73]\ttrain-mlogloss:0.24503\teval-mlogloss:0.24322\n",
      "[74]\ttrain-mlogloss:0.24432\teval-mlogloss:0.24251\n",
      "[75]\ttrain-mlogloss:0.24365\teval-mlogloss:0.24185\n",
      "[76]\ttrain-mlogloss:0.24301\teval-mlogloss:0.24121\n",
      "[77]\ttrain-mlogloss:0.24239\teval-mlogloss:0.24059\n",
      "[78]\ttrain-mlogloss:0.24180\teval-mlogloss:0.24000\n",
      "[79]\ttrain-mlogloss:0.24124\teval-mlogloss:0.23944\n",
      "[80]\ttrain-mlogloss:0.24070\teval-mlogloss:0.23891\n",
      "[81]\ttrain-mlogloss:0.24018\teval-mlogloss:0.23839\n",
      "[82]\ttrain-mlogloss:0.23968\teval-mlogloss:0.23791\n",
      "[83]\ttrain-mlogloss:0.23920\teval-mlogloss:0.23744\n",
      "[84]\ttrain-mlogloss:0.23875\teval-mlogloss:0.23699\n",
      "[85]\ttrain-mlogloss:0.23830\teval-mlogloss:0.23656\n",
      "[86]\ttrain-mlogloss:0.23788\teval-mlogloss:0.23616\n",
      "[87]\ttrain-mlogloss:0.23750\teval-mlogloss:0.23579\n",
      "[88]\ttrain-mlogloss:0.23711\teval-mlogloss:0.23541\n",
      "[89]\ttrain-mlogloss:0.23674\teval-mlogloss:0.23506\n",
      "[90]\ttrain-mlogloss:0.23640\teval-mlogloss:0.23473\n",
      "[91]\ttrain-mlogloss:0.23606\teval-mlogloss:0.23441\n",
      "[92]\ttrain-mlogloss:0.23574\teval-mlogloss:0.23410\n",
      "[93]\ttrain-mlogloss:0.23543\teval-mlogloss:0.23381\n",
      "[94]\ttrain-mlogloss:0.23514\teval-mlogloss:0.23353\n",
      "[95]\ttrain-mlogloss:0.23485\teval-mlogloss:0.23326\n",
      "[96]\ttrain-mlogloss:0.23458\teval-mlogloss:0.23301\n",
      "[97]\ttrain-mlogloss:0.23432\teval-mlogloss:0.23277\n",
      "[98]\ttrain-mlogloss:0.23407\teval-mlogloss:0.23254\n",
      "[99]\ttrain-mlogloss:0.23384\teval-mlogloss:0.23233\n",
      "[100]\ttrain-mlogloss:0.23361\teval-mlogloss:0.23212\n",
      "[101]\ttrain-mlogloss:0.23338\teval-mlogloss:0.23191\n",
      "[102]\ttrain-mlogloss:0.23317\teval-mlogloss:0.23173\n",
      "[103]\ttrain-mlogloss:0.23297\teval-mlogloss:0.23154\n",
      "[104]\ttrain-mlogloss:0.23277\teval-mlogloss:0.23137\n",
      "[105]\ttrain-mlogloss:0.23259\teval-mlogloss:0.23121\n",
      "[106]\ttrain-mlogloss:0.23241\teval-mlogloss:0.23106\n",
      "[107]\ttrain-mlogloss:0.23224\teval-mlogloss:0.23090\n",
      "[108]\ttrain-mlogloss:0.23208\teval-mlogloss:0.23076\n",
      "[109]\ttrain-mlogloss:0.23193\teval-mlogloss:0.23063\n",
      "[110]\ttrain-mlogloss:0.23177\teval-mlogloss:0.23049\n",
      "[111]\ttrain-mlogloss:0.23163\teval-mlogloss:0.23036\n",
      "[112]\ttrain-mlogloss:0.23149\teval-mlogloss:0.23024\n",
      "[113]\ttrain-mlogloss:0.23136\teval-mlogloss:0.23013\n",
      "[114]\ttrain-mlogloss:0.23124\teval-mlogloss:0.23002\n",
      "[115]\ttrain-mlogloss:0.23111\teval-mlogloss:0.22991\n",
      "[116]\ttrain-mlogloss:0.23099\teval-mlogloss:0.22982\n",
      "[117]\ttrain-mlogloss:0.23087\teval-mlogloss:0.22972\n",
      "[118]\ttrain-mlogloss:0.23076\teval-mlogloss:0.22963\n",
      "[119]\ttrain-mlogloss:0.23066\teval-mlogloss:0.22955\n",
      "[120]\ttrain-mlogloss:0.23054\teval-mlogloss:0.22946\n",
      "[121]\ttrain-mlogloss:0.23045\teval-mlogloss:0.22939\n",
      "[122]\ttrain-mlogloss:0.23035\teval-mlogloss:0.22931\n",
      "[123]\ttrain-mlogloss:0.23026\teval-mlogloss:0.22924\n",
      "[124]\ttrain-mlogloss:0.23018\teval-mlogloss:0.22917\n",
      "[125]\ttrain-mlogloss:0.23010\teval-mlogloss:0.22911\n",
      "[126]\ttrain-mlogloss:0.23001\teval-mlogloss:0.22904\n",
      "[127]\ttrain-mlogloss:0.22992\teval-mlogloss:0.22898\n",
      "[128]\ttrain-mlogloss:0.22984\teval-mlogloss:0.22893\n",
      "[129]\ttrain-mlogloss:0.22977\teval-mlogloss:0.22887\n",
      "[130]\ttrain-mlogloss:0.22970\teval-mlogloss:0.22882\n",
      "[131]\ttrain-mlogloss:0.22963\teval-mlogloss:0.22877\n",
      "[132]\ttrain-mlogloss:0.22956\teval-mlogloss:0.22872\n",
      "[133]\ttrain-mlogloss:0.22949\teval-mlogloss:0.22868\n",
      "[134]\ttrain-mlogloss:0.22942\teval-mlogloss:0.22863\n",
      "[135]\ttrain-mlogloss:0.22937\teval-mlogloss:0.22859\n",
      "[136]\ttrain-mlogloss:0.22930\teval-mlogloss:0.22855\n",
      "[137]\ttrain-mlogloss:0.22925\teval-mlogloss:0.22851\n",
      "[138]\ttrain-mlogloss:0.22919\teval-mlogloss:0.22847\n",
      "[139]\ttrain-mlogloss:0.22914\teval-mlogloss:0.22844\n",
      "[140]\ttrain-mlogloss:0.22909\teval-mlogloss:0.22841\n",
      "[141]\ttrain-mlogloss:0.22904\teval-mlogloss:0.22838\n",
      "[142]\ttrain-mlogloss:0.22899\teval-mlogloss:0.22835\n",
      "[143]\ttrain-mlogloss:0.22894\teval-mlogloss:0.22831\n",
      "[144]\ttrain-mlogloss:0.22890\teval-mlogloss:0.22829\n",
      "[145]\ttrain-mlogloss:0.22885\teval-mlogloss:0.22827\n",
      "[146]\ttrain-mlogloss:0.22881\teval-mlogloss:0.22824\n",
      "[147]\ttrain-mlogloss:0.22876\teval-mlogloss:0.22821\n",
      "[148]\ttrain-mlogloss:0.22872\teval-mlogloss:0.22819\n",
      "[149]\ttrain-mlogloss:0.22867\teval-mlogloss:0.22817\n",
      "[150]\ttrain-mlogloss:0.22863\teval-mlogloss:0.22815\n",
      "[151]\ttrain-mlogloss:0.22860\teval-mlogloss:0.22813\n",
      "[152]\ttrain-mlogloss:0.22855\teval-mlogloss:0.22811\n",
      "[153]\ttrain-mlogloss:0.22852\teval-mlogloss:0.22809\n",
      "[154]\ttrain-mlogloss:0.22849\teval-mlogloss:0.22807\n",
      "[155]\ttrain-mlogloss:0.22845\teval-mlogloss:0.22805\n",
      "[156]\ttrain-mlogloss:0.22841\teval-mlogloss:0.22804\n",
      "[157]\ttrain-mlogloss:0.22838\teval-mlogloss:0.22802\n",
      "[158]\ttrain-mlogloss:0.22835\teval-mlogloss:0.22801\n",
      "[159]\ttrain-mlogloss:0.22832\teval-mlogloss:0.22800\n",
      "[160]\ttrain-mlogloss:0.22828\teval-mlogloss:0.22798\n",
      "[161]\ttrain-mlogloss:0.22825\teval-mlogloss:0.22797\n",
      "[162]\ttrain-mlogloss:0.22822\teval-mlogloss:0.22796\n",
      "[163]\ttrain-mlogloss:0.22819\teval-mlogloss:0.22796\n",
      "[164]\ttrain-mlogloss:0.22816\teval-mlogloss:0.22795\n",
      "[165]\ttrain-mlogloss:0.22813\teval-mlogloss:0.22794\n",
      "[166]\ttrain-mlogloss:0.22811\teval-mlogloss:0.22793\n",
      "[167]\ttrain-mlogloss:0.22808\teval-mlogloss:0.22792\n",
      "[168]\ttrain-mlogloss:0.22805\teval-mlogloss:0.22791\n",
      "[169]\ttrain-mlogloss:0.22803\teval-mlogloss:0.22791\n",
      "[170]\ttrain-mlogloss:0.22800\teval-mlogloss:0.22790\n",
      "[171]\ttrain-mlogloss:0.22797\teval-mlogloss:0.22789\n",
      "[172]\ttrain-mlogloss:0.22795\teval-mlogloss:0.22788\n",
      "[173]\ttrain-mlogloss:0.22792\teval-mlogloss:0.22787\n",
      "[174]\ttrain-mlogloss:0.22790\teval-mlogloss:0.22786\n",
      "[175]\ttrain-mlogloss:0.22787\teval-mlogloss:0.22785\n",
      "[176]\ttrain-mlogloss:0.22785\teval-mlogloss:0.22784\n",
      "[177]\ttrain-mlogloss:0.22783\teval-mlogloss:0.22784\n",
      "[178]\ttrain-mlogloss:0.22780\teval-mlogloss:0.22784\n",
      "[179]\ttrain-mlogloss:0.22778\teval-mlogloss:0.22783\n",
      "[180]\ttrain-mlogloss:0.22776\teval-mlogloss:0.22782\n",
      "[181]\ttrain-mlogloss:0.22774\teval-mlogloss:0.22781\n",
      "[182]\ttrain-mlogloss:0.22771\teval-mlogloss:0.22781\n",
      "[183]\ttrain-mlogloss:0.22769\teval-mlogloss:0.22780\n",
      "[184]\ttrain-mlogloss:0.22766\teval-mlogloss:0.22780\n",
      "[185]\ttrain-mlogloss:0.22765\teval-mlogloss:0.22779\n",
      "[186]\ttrain-mlogloss:0.22763\teval-mlogloss:0.22779\n",
      "[187]\ttrain-mlogloss:0.22760\teval-mlogloss:0.22779\n",
      "[188]\ttrain-mlogloss:0.22758\teval-mlogloss:0.22778\n",
      "[189]\ttrain-mlogloss:0.22756\teval-mlogloss:0.22778\n",
      "[190]\ttrain-mlogloss:0.22754\teval-mlogloss:0.22777\n",
      "[191]\ttrain-mlogloss:0.22752\teval-mlogloss:0.22777\n",
      "[192]\ttrain-mlogloss:0.22749\teval-mlogloss:0.22776\n",
      "[193]\ttrain-mlogloss:0.22747\teval-mlogloss:0.22776\n",
      "[194]\ttrain-mlogloss:0.22746\teval-mlogloss:0.22775\n",
      "[195]\ttrain-mlogloss:0.22743\teval-mlogloss:0.22775\n",
      "[196]\ttrain-mlogloss:0.22741\teval-mlogloss:0.22775\n",
      "[197]\ttrain-mlogloss:0.22739\teval-mlogloss:0.22775\n",
      "[198]\ttrain-mlogloss:0.22737\teval-mlogloss:0.22774\n",
      "[199]\ttrain-mlogloss:0.22735\teval-mlogloss:0.22774\n",
      "[200]\ttrain-mlogloss:0.22733\teval-mlogloss:0.22773\n",
      "[201]\ttrain-mlogloss:0.22731\teval-mlogloss:0.22774\n",
      "[202]\ttrain-mlogloss:0.22729\teval-mlogloss:0.22773\n",
      "[203]\ttrain-mlogloss:0.22727\teval-mlogloss:0.22773\n",
      "[204]\ttrain-mlogloss:0.22725\teval-mlogloss:0.22773\n",
      "[205]\ttrain-mlogloss:0.22723\teval-mlogloss:0.22772\n",
      "[206]\ttrain-mlogloss:0.22721\teval-mlogloss:0.22772\n",
      "[207]\ttrain-mlogloss:0.22719\teval-mlogloss:0.22771\n",
      "[208]\ttrain-mlogloss:0.22717\teval-mlogloss:0.22771\n",
      "[209]\ttrain-mlogloss:0.22715\teval-mlogloss:0.22770\n",
      "[210]\ttrain-mlogloss:0.22714\teval-mlogloss:0.22770\n",
      "[211]\ttrain-mlogloss:0.22712\teval-mlogloss:0.22769\n",
      "[212]\ttrain-mlogloss:0.22710\teval-mlogloss:0.22769\n",
      "[213]\ttrain-mlogloss:0.22708\teval-mlogloss:0.22769\n",
      "[214]\ttrain-mlogloss:0.22707\teval-mlogloss:0.22769\n",
      "[215]\ttrain-mlogloss:0.22705\teval-mlogloss:0.22769\n",
      "[216]\ttrain-mlogloss:0.22703\teval-mlogloss:0.22768\n",
      "[217]\ttrain-mlogloss:0.22701\teval-mlogloss:0.22768\n",
      "[218]\ttrain-mlogloss:0.22699\teval-mlogloss:0.22768\n",
      "[219]\ttrain-mlogloss:0.22697\teval-mlogloss:0.22768\n",
      "[220]\ttrain-mlogloss:0.22696\teval-mlogloss:0.22767\n",
      "[221]\ttrain-mlogloss:0.22694\teval-mlogloss:0.22767\n",
      "[222]\ttrain-mlogloss:0.22693\teval-mlogloss:0.22767\n",
      "[223]\ttrain-mlogloss:0.22692\teval-mlogloss:0.22767\n",
      "[224]\ttrain-mlogloss:0.22690\teval-mlogloss:0.22766\n",
      "[225]\ttrain-mlogloss:0.22689\teval-mlogloss:0.22766\n",
      "[226]\ttrain-mlogloss:0.22688\teval-mlogloss:0.22766\n",
      "[227]\ttrain-mlogloss:0.22686\teval-mlogloss:0.22765\n",
      "[228]\ttrain-mlogloss:0.22685\teval-mlogloss:0.22765\n",
      "[229]\ttrain-mlogloss:0.22683\teval-mlogloss:0.22766\n",
      "[230]\ttrain-mlogloss:0.22682\teval-mlogloss:0.22766\n",
      "[231]\ttrain-mlogloss:0.22680\teval-mlogloss:0.22766\n",
      "[232]\ttrain-mlogloss:0.22679\teval-mlogloss:0.22766\n",
      "[233]\ttrain-mlogloss:0.22678\teval-mlogloss:0.22766\n",
      "[234]\ttrain-mlogloss:0.22676\teval-mlogloss:0.22766\n",
      "[235]\ttrain-mlogloss:0.22675\teval-mlogloss:0.22766\n",
      "[236]\ttrain-mlogloss:0.22674\teval-mlogloss:0.22766\n",
      "[237]\ttrain-mlogloss:0.22672\teval-mlogloss:0.22766\n",
      "[238]\ttrain-mlogloss:0.22671\teval-mlogloss:0.22766\n",
      "[239]\ttrain-mlogloss:0.22669\teval-mlogloss:0.22766\n",
      "[240]\ttrain-mlogloss:0.22667\teval-mlogloss:0.22766\n",
      "[241]\ttrain-mlogloss:0.22665\teval-mlogloss:0.22766\n",
      "[242]\ttrain-mlogloss:0.22664\teval-mlogloss:0.22766\n",
      "[243]\ttrain-mlogloss:0.22662\teval-mlogloss:0.22766\n",
      "[244]\ttrain-mlogloss:0.22661\teval-mlogloss:0.22765\n",
      "[245]\ttrain-mlogloss:0.22659\teval-mlogloss:0.22766\n",
      "[246]\ttrain-mlogloss:0.22658\teval-mlogloss:0.22765\n",
      "[247]\ttrain-mlogloss:0.22656\teval-mlogloss:0.22765\n",
      "[248]\ttrain-mlogloss:0.22655\teval-mlogloss:0.22765\n",
      "[249]\ttrain-mlogloss:0.22654\teval-mlogloss:0.22765\n",
      "[250]\ttrain-mlogloss:0.22652\teval-mlogloss:0.22764\n",
      "[251]\ttrain-mlogloss:0.22650\teval-mlogloss:0.22764\n",
      "[252]\ttrain-mlogloss:0.22649\teval-mlogloss:0.22764\n",
      "[253]\ttrain-mlogloss:0.22647\teval-mlogloss:0.22763\n",
      "[254]\ttrain-mlogloss:0.22645\teval-mlogloss:0.22764\n",
      "[255]\ttrain-mlogloss:0.22643\teval-mlogloss:0.22763\n",
      "[256]\ttrain-mlogloss:0.22641\teval-mlogloss:0.22763\n",
      "[257]\ttrain-mlogloss:0.22640\teval-mlogloss:0.22763\n",
      "[258]\ttrain-mlogloss:0.22639\teval-mlogloss:0.22763\n",
      "[259]\ttrain-mlogloss:0.22638\teval-mlogloss:0.22763\n",
      "[260]\ttrain-mlogloss:0.22637\teval-mlogloss:0.22763\n",
      "[261]\ttrain-mlogloss:0.22635\teval-mlogloss:0.22763\n",
      "[262]\ttrain-mlogloss:0.22633\teval-mlogloss:0.22762\n",
      "[263]\ttrain-mlogloss:0.22632\teval-mlogloss:0.22762\n",
      "[264]\ttrain-mlogloss:0.22630\teval-mlogloss:0.22762\n",
      "[265]\ttrain-mlogloss:0.22628\teval-mlogloss:0.22762\n",
      "[266]\ttrain-mlogloss:0.22627\teval-mlogloss:0.22762\n",
      "[267]\ttrain-mlogloss:0.22626\teval-mlogloss:0.22762\n",
      "[268]\ttrain-mlogloss:0.22624\teval-mlogloss:0.22762\n",
      "[269]\ttrain-mlogloss:0.22622\teval-mlogloss:0.22762\n",
      "[270]\ttrain-mlogloss:0.22620\teval-mlogloss:0.22762\n",
      "[271]\ttrain-mlogloss:0.22619\teval-mlogloss:0.22761\n",
      "[272]\ttrain-mlogloss:0.22617\teval-mlogloss:0.22761\n",
      "[273]\ttrain-mlogloss:0.22616\teval-mlogloss:0.22760\n",
      "[274]\ttrain-mlogloss:0.22613\teval-mlogloss:0.22760\n",
      "[275]\ttrain-mlogloss:0.22612\teval-mlogloss:0.22761\n",
      "[276]\ttrain-mlogloss:0.22611\teval-mlogloss:0.22760\n",
      "[277]\ttrain-mlogloss:0.22609\teval-mlogloss:0.22760\n",
      "[278]\ttrain-mlogloss:0.22607\teval-mlogloss:0.22760\n",
      "[279]\ttrain-mlogloss:0.22606\teval-mlogloss:0.22760\n",
      "[280]\ttrain-mlogloss:0.22605\teval-mlogloss:0.22759\n",
      "[281]\ttrain-mlogloss:0.22603\teval-mlogloss:0.22760\n",
      "[282]\ttrain-mlogloss:0.22602\teval-mlogloss:0.22760\n",
      "[283]\ttrain-mlogloss:0.22600\teval-mlogloss:0.22760\n",
      "[284]\ttrain-mlogloss:0.22599\teval-mlogloss:0.22760\n",
      "[285]\ttrain-mlogloss:0.22597\teval-mlogloss:0.22760\n",
      "[286]\ttrain-mlogloss:0.22596\teval-mlogloss:0.22760\n",
      "[287]\ttrain-mlogloss:0.22595\teval-mlogloss:0.22760\n",
      "[288]\ttrain-mlogloss:0.22594\teval-mlogloss:0.22760\n",
      "[289]\ttrain-mlogloss:0.22592\teval-mlogloss:0.22759\n",
      "[290]\ttrain-mlogloss:0.22591\teval-mlogloss:0.22759\n",
      "[291]\ttrain-mlogloss:0.22590\teval-mlogloss:0.22759\n",
      "[292]\ttrain-mlogloss:0.22588\teval-mlogloss:0.22759\n",
      "[293]\ttrain-mlogloss:0.22587\teval-mlogloss:0.22759\n",
      "[294]\ttrain-mlogloss:0.22586\teval-mlogloss:0.22759\n",
      "[295]\ttrain-mlogloss:0.22585\teval-mlogloss:0.22759\n",
      "[296]\ttrain-mlogloss:0.22583\teval-mlogloss:0.22759\n",
      "[297]\ttrain-mlogloss:0.22582\teval-mlogloss:0.22759\n",
      "[298]\ttrain-mlogloss:0.22580\teval-mlogloss:0.22759\n",
      "[299]\ttrain-mlogloss:0.22579\teval-mlogloss:0.22759\n",
      "[300]\ttrain-mlogloss:0.22577\teval-mlogloss:0.22759\n",
      "[301]\ttrain-mlogloss:0.22576\teval-mlogloss:0.22759\n",
      "[302]\ttrain-mlogloss:0.22575\teval-mlogloss:0.22759\n",
      "[303]\ttrain-mlogloss:0.22573\teval-mlogloss:0.22758\n",
      "[304]\ttrain-mlogloss:0.22572\teval-mlogloss:0.22758\n",
      "[305]\ttrain-mlogloss:0.22570\teval-mlogloss:0.22758\n",
      "[306]\ttrain-mlogloss:0.22568\teval-mlogloss:0.22757\n",
      "[307]\ttrain-mlogloss:0.22566\teval-mlogloss:0.22757\n",
      "[308]\ttrain-mlogloss:0.22565\teval-mlogloss:0.22757\n",
      "[309]\ttrain-mlogloss:0.22564\teval-mlogloss:0.22757\n",
      "[310]\ttrain-mlogloss:0.22562\teval-mlogloss:0.22757\n",
      "[311]\ttrain-mlogloss:0.22560\teval-mlogloss:0.22757\n",
      "[312]\ttrain-mlogloss:0.22559\teval-mlogloss:0.22757\n",
      "[313]\ttrain-mlogloss:0.22557\teval-mlogloss:0.22757\n",
      "[314]\ttrain-mlogloss:0.22555\teval-mlogloss:0.22758\n",
      "[315]\ttrain-mlogloss:0.22554\teval-mlogloss:0.22757\n",
      "[316]\ttrain-mlogloss:0.22552\teval-mlogloss:0.22757\n",
      "[317]\ttrain-mlogloss:0.22551\teval-mlogloss:0.22757\n",
      "[318]\ttrain-mlogloss:0.22549\teval-mlogloss:0.22757\n",
      "[319]\ttrain-mlogloss:0.22548\teval-mlogloss:0.22757\n",
      "[320]\ttrain-mlogloss:0.22546\teval-mlogloss:0.22756\n",
      "[321]\ttrain-mlogloss:0.22544\teval-mlogloss:0.22755\n",
      "[322]\ttrain-mlogloss:0.22543\teval-mlogloss:0.22755\n",
      "[323]\ttrain-mlogloss:0.22541\teval-mlogloss:0.22755\n",
      "[324]\ttrain-mlogloss:0.22540\teval-mlogloss:0.22755\n",
      "[325]\ttrain-mlogloss:0.22539\teval-mlogloss:0.22755\n",
      "[326]\ttrain-mlogloss:0.22538\teval-mlogloss:0.22756\n",
      "[327]\ttrain-mlogloss:0.22536\teval-mlogloss:0.22756\n",
      "[328]\ttrain-mlogloss:0.22535\teval-mlogloss:0.22756\n",
      "[329]\ttrain-mlogloss:0.22534\teval-mlogloss:0.22756\n",
      "[330]\ttrain-mlogloss:0.22533\teval-mlogloss:0.22755\n",
      "[331]\ttrain-mlogloss:0.22531\teval-mlogloss:0.22755\n",
      "[332]\ttrain-mlogloss:0.22530\teval-mlogloss:0.22755\n",
      "[333]\ttrain-mlogloss:0.22529\teval-mlogloss:0.22755\n",
      "[334]\ttrain-mlogloss:0.22528\teval-mlogloss:0.22756\n",
      "[335]\ttrain-mlogloss:0.22527\teval-mlogloss:0.22755\n",
      "[336]\ttrain-mlogloss:0.22525\teval-mlogloss:0.22755\n",
      "[337]\ttrain-mlogloss:0.22524\teval-mlogloss:0.22756\n",
      "[338]\ttrain-mlogloss:0.22522\teval-mlogloss:0.22756\n",
      "[339]\ttrain-mlogloss:0.22521\teval-mlogloss:0.22755\n",
      "[340]\ttrain-mlogloss:0.22520\teval-mlogloss:0.22755\n",
      "[341]\ttrain-mlogloss:0.22519\teval-mlogloss:0.22756\n",
      "[342]\ttrain-mlogloss:0.22518\teval-mlogloss:0.22756\n",
      "[343]\ttrain-mlogloss:0.22516\teval-mlogloss:0.22755\n",
      "[344]\ttrain-mlogloss:0.22514\teval-mlogloss:0.22755\n",
      "[345]\ttrain-mlogloss:0.22512\teval-mlogloss:0.22756\n",
      "[346]\ttrain-mlogloss:0.22511\teval-mlogloss:0.22756\n",
      "[347]\ttrain-mlogloss:0.22510\teval-mlogloss:0.22756\n",
      "[348]\ttrain-mlogloss:0.22509\teval-mlogloss:0.22756\n",
      "[349]\ttrain-mlogloss:0.22507\teval-mlogloss:0.22756\n",
      "[350]\ttrain-mlogloss:0.22505\teval-mlogloss:0.22756\n",
      "[351]\ttrain-mlogloss:0.22504\teval-mlogloss:0.22755\n",
      "[352]\ttrain-mlogloss:0.22503\teval-mlogloss:0.22755\n",
      "[353]\ttrain-mlogloss:0.22501\teval-mlogloss:0.22755\n",
      "[354]\ttrain-mlogloss:0.22500\teval-mlogloss:0.22755\n",
      "[355]\ttrain-mlogloss:0.22499\teval-mlogloss:0.22755\n",
      "[356]\ttrain-mlogloss:0.22498\teval-mlogloss:0.22755\n",
      "[357]\ttrain-mlogloss:0.22497\teval-mlogloss:0.22755\n",
      "[358]\ttrain-mlogloss:0.22495\teval-mlogloss:0.22755\n",
      "[359]\ttrain-mlogloss:0.22494\teval-mlogloss:0.22754\n",
      "[360]\ttrain-mlogloss:0.22493\teval-mlogloss:0.22754\n",
      "[361]\ttrain-mlogloss:0.22491\teval-mlogloss:0.22755\n",
      "[362]\ttrain-mlogloss:0.22490\teval-mlogloss:0.22755\n",
      "[363]\ttrain-mlogloss:0.22489\teval-mlogloss:0.22755\n",
      "[364]\ttrain-mlogloss:0.22487\teval-mlogloss:0.22755\n",
      "[365]\ttrain-mlogloss:0.22486\teval-mlogloss:0.22754\n",
      "[366]\ttrain-mlogloss:0.22484\teval-mlogloss:0.22754\n",
      "[367]\ttrain-mlogloss:0.22483\teval-mlogloss:0.22753\n",
      "[368]\ttrain-mlogloss:0.22482\teval-mlogloss:0.22753\n",
      "[369]\ttrain-mlogloss:0.22481\teval-mlogloss:0.22754\n",
      "[370]\ttrain-mlogloss:0.22480\teval-mlogloss:0.22754\n",
      "[371]\ttrain-mlogloss:0.22478\teval-mlogloss:0.22754\n",
      "[372]\ttrain-mlogloss:0.22477\teval-mlogloss:0.22754\n",
      "[373]\ttrain-mlogloss:0.22475\teval-mlogloss:0.22753\n",
      "[374]\ttrain-mlogloss:0.22474\teval-mlogloss:0.22753\n",
      "[375]\ttrain-mlogloss:0.22473\teval-mlogloss:0.22753\n",
      "[376]\ttrain-mlogloss:0.22471\teval-mlogloss:0.22753\n",
      "[377]\ttrain-mlogloss:0.22470\teval-mlogloss:0.22753\n",
      "[378]\ttrain-mlogloss:0.22469\teval-mlogloss:0.22753\n",
      "[379]\ttrain-mlogloss:0.22468\teval-mlogloss:0.22753\n",
      "[380]\ttrain-mlogloss:0.22467\teval-mlogloss:0.22753\n",
      "[381]\ttrain-mlogloss:0.22466\teval-mlogloss:0.22753\n",
      "[382]\ttrain-mlogloss:0.22465\teval-mlogloss:0.22753\n",
      "[383]\ttrain-mlogloss:0.22464\teval-mlogloss:0.22753\n",
      "[384]\ttrain-mlogloss:0.22462\teval-mlogloss:0.22754\n",
      "[385]\ttrain-mlogloss:0.22461\teval-mlogloss:0.22754\n",
      "[386]\ttrain-mlogloss:0.22459\teval-mlogloss:0.22754\n",
      "[387]\ttrain-mlogloss:0.22458\teval-mlogloss:0.22754\n",
      "[388]\ttrain-mlogloss:0.22457\teval-mlogloss:0.22754\n",
      "[389]\ttrain-mlogloss:0.22455\teval-mlogloss:0.22755\n",
      "[390]\ttrain-mlogloss:0.22454\teval-mlogloss:0.22754\n",
      "[391]\ttrain-mlogloss:0.22452\teval-mlogloss:0.22755\n",
      "[392]\ttrain-mlogloss:0.22451\teval-mlogloss:0.22755\n",
      "[393]\ttrain-mlogloss:0.22450\teval-mlogloss:0.22755\n",
      "[394]\ttrain-mlogloss:0.22449\teval-mlogloss:0.22755\n",
      "[395]\ttrain-mlogloss:0.22447\teval-mlogloss:0.22755\n",
      "[396]\ttrain-mlogloss:0.22446\teval-mlogloss:0.22755\n",
      "[397]\ttrain-mlogloss:0.22444\teval-mlogloss:0.22755\n",
      "[398]\ttrain-mlogloss:0.22443\teval-mlogloss:0.22755\n",
      "[399]\ttrain-mlogloss:0.22441\teval-mlogloss:0.22755\n",
      "[400]\ttrain-mlogloss:0.22440\teval-mlogloss:0.22755\n",
      "[401]\ttrain-mlogloss:0.22439\teval-mlogloss:0.22755\n",
      "[402]\ttrain-mlogloss:0.22438\teval-mlogloss:0.22755\n",
      "[403]\ttrain-mlogloss:0.22436\teval-mlogloss:0.22755\n",
      "[404]\ttrain-mlogloss:0.22435\teval-mlogloss:0.22755\n",
      "[405]\ttrain-mlogloss:0.22434\teval-mlogloss:0.22755\n",
      "[406]\ttrain-mlogloss:0.22433\teval-mlogloss:0.22755\n",
      "[407]\ttrain-mlogloss:0.22431\teval-mlogloss:0.22756\n",
      "[408]\ttrain-mlogloss:0.22430\teval-mlogloss:0.22755\n",
      "[409]\ttrain-mlogloss:0.22428\teval-mlogloss:0.22756\n",
      "[410]\ttrain-mlogloss:0.22427\teval-mlogloss:0.22756\n",
      "[411]\ttrain-mlogloss:0.22426\teval-mlogloss:0.22755\n",
      "[412]\ttrain-mlogloss:0.22425\teval-mlogloss:0.22756\n",
      "[413]\ttrain-mlogloss:0.22424\teval-mlogloss:0.22756\n",
      "[414]\ttrain-mlogloss:0.22423\teval-mlogloss:0.22756\n",
      "[415]\ttrain-mlogloss:0.22422\teval-mlogloss:0.22756\n",
      "[416]\ttrain-mlogloss:0.22421\teval-mlogloss:0.22756\n",
      "[417]\ttrain-mlogloss:0.22420\teval-mlogloss:0.22756\n",
      "[418]\ttrain-mlogloss:0.22418\teval-mlogloss:0.22756\n",
      "[419]\ttrain-mlogloss:0.22417\teval-mlogloss:0.22756\n",
      "[420]\ttrain-mlogloss:0.22416\teval-mlogloss:0.22756\n",
      "[421]\ttrain-mlogloss:0.22415\teval-mlogloss:0.22756\n",
      "[422]\ttrain-mlogloss:0.22413\teval-mlogloss:0.22756\n",
      "[423]\ttrain-mlogloss:0.22412\teval-mlogloss:0.22756\n",
      "[424]\ttrain-mlogloss:0.22411\teval-mlogloss:0.22756\n",
      "[425]\ttrain-mlogloss:0.22410\teval-mlogloss:0.22756\n",
      "[426]\ttrain-mlogloss:0.22409\teval-mlogloss:0.22756\n",
      "[427]\ttrain-mlogloss:0.22408\teval-mlogloss:0.22756\n",
      "[428]\ttrain-mlogloss:0.22406\teval-mlogloss:0.22756\n",
      "[429]\ttrain-mlogloss:0.22405\teval-mlogloss:0.22756\n",
      "[430]\ttrain-mlogloss:0.22404\teval-mlogloss:0.22756\n",
      "[431]\ttrain-mlogloss:0.22402\teval-mlogloss:0.22755\n",
      "[432]\ttrain-mlogloss:0.22401\teval-mlogloss:0.22755\n",
      "[433]\ttrain-mlogloss:0.22400\teval-mlogloss:0.22755\n",
      "[434]\ttrain-mlogloss:0.22399\teval-mlogloss:0.22754\n",
      "[435]\ttrain-mlogloss:0.22398\teval-mlogloss:0.22755\n",
      "[436]\ttrain-mlogloss:0.22397\teval-mlogloss:0.22755\n",
      "[437]\ttrain-mlogloss:0.22395\teval-mlogloss:0.22755\n",
      "[438]\ttrain-mlogloss:0.22394\teval-mlogloss:0.22755\n",
      "[439]\ttrain-mlogloss:0.22393\teval-mlogloss:0.22755\n",
      "[440]\ttrain-mlogloss:0.22392\teval-mlogloss:0.22755\n",
      "[441]\ttrain-mlogloss:0.22391\teval-mlogloss:0.22754\n",
      "[442]\ttrain-mlogloss:0.22389\teval-mlogloss:0.22754\n",
      "[443]\ttrain-mlogloss:0.22388\teval-mlogloss:0.22753\n",
      "[444]\ttrain-mlogloss:0.22387\teval-mlogloss:0.22754\n",
      "[445]\ttrain-mlogloss:0.22386\teval-mlogloss:0.22754\n",
      "[446]\ttrain-mlogloss:0.22385\teval-mlogloss:0.22753\n",
      "[447]\ttrain-mlogloss:0.22384\teval-mlogloss:0.22754\n",
      "[448]\ttrain-mlogloss:0.22383\teval-mlogloss:0.22753\n",
      "[449]\ttrain-mlogloss:0.22382\teval-mlogloss:0.22754\n",
      "[450]\ttrain-mlogloss:0.22381\teval-mlogloss:0.22753\n",
      "[451]\ttrain-mlogloss:0.22380\teval-mlogloss:0.22753\n",
      "[452]\ttrain-mlogloss:0.22378\teval-mlogloss:0.22754\n",
      "[453]\ttrain-mlogloss:0.22378\teval-mlogloss:0.22754\n",
      "[454]\ttrain-mlogloss:0.22376\teval-mlogloss:0.22754\n",
      "[455]\ttrain-mlogloss:0.22375\teval-mlogloss:0.22754\n",
      "[456]\ttrain-mlogloss:0.22374\teval-mlogloss:0.22753\n",
      "[457]\ttrain-mlogloss:0.22373\teval-mlogloss:0.22753\n",
      "[458]\ttrain-mlogloss:0.22372\teval-mlogloss:0.22753\n",
      "[459]\ttrain-mlogloss:0.22371\teval-mlogloss:0.22753\n",
      "[460]\ttrain-mlogloss:0.22370\teval-mlogloss:0.22753\n",
      "[461]\ttrain-mlogloss:0.22369\teval-mlogloss:0.22753\n",
      "[462]\ttrain-mlogloss:0.22368\teval-mlogloss:0.22753\n",
      "[463]\ttrain-mlogloss:0.22367\teval-mlogloss:0.22754\n",
      "[464]\ttrain-mlogloss:0.22365\teval-mlogloss:0.22753\n",
      "[465]\ttrain-mlogloss:0.22364\teval-mlogloss:0.22753\n",
      "[466]\ttrain-mlogloss:0.22362\teval-mlogloss:0.22753\n",
      "[467]\ttrain-mlogloss:0.22361\teval-mlogloss:0.22753\n",
      "[468]\ttrain-mlogloss:0.22360\teval-mlogloss:0.22754\n",
      "[469]\ttrain-mlogloss:0.22359\teval-mlogloss:0.22754\n",
      "[470]\ttrain-mlogloss:0.22358\teval-mlogloss:0.22754\n",
      "[471]\ttrain-mlogloss:0.22357\teval-mlogloss:0.22753\n",
      "[472]\ttrain-mlogloss:0.22356\teval-mlogloss:0.22753\n",
      "[473]\ttrain-mlogloss:0.22355\teval-mlogloss:0.22753\n",
      "[474]\ttrain-mlogloss:0.22354\teval-mlogloss:0.22753\n",
      "[475]\ttrain-mlogloss:0.22353\teval-mlogloss:0.22753\n",
      "[476]\ttrain-mlogloss:0.22352\teval-mlogloss:0.22753\n",
      "[477]\ttrain-mlogloss:0.22351\teval-mlogloss:0.22753\n",
      "[478]\ttrain-mlogloss:0.22350\teval-mlogloss:0.22753\n",
      "[479]\ttrain-mlogloss:0.22349\teval-mlogloss:0.22753\n",
      "[480]\ttrain-mlogloss:0.22348\teval-mlogloss:0.22753\n",
      "[481]\ttrain-mlogloss:0.22347\teval-mlogloss:0.22753\n",
      "[482]\ttrain-mlogloss:0.22346\teval-mlogloss:0.22753\n",
      "[483]\ttrain-mlogloss:0.22345\teval-mlogloss:0.22752\n",
      "[484]\ttrain-mlogloss:0.22344\teval-mlogloss:0.22752\n",
      "[485]\ttrain-mlogloss:0.22342\teval-mlogloss:0.22752\n",
      "[486]\ttrain-mlogloss:0.22341\teval-mlogloss:0.22752\n",
      "[487]\ttrain-mlogloss:0.22340\teval-mlogloss:0.22752\n",
      "[488]\ttrain-mlogloss:0.22340\teval-mlogloss:0.22753\n",
      "[489]\ttrain-mlogloss:0.22338\teval-mlogloss:0.22752\n",
      "[490]\ttrain-mlogloss:0.22337\teval-mlogloss:0.22752\n",
      "[491]\ttrain-mlogloss:0.22336\teval-mlogloss:0.22752\n",
      "[492]\ttrain-mlogloss:0.22335\teval-mlogloss:0.22753\n",
      "[493]\ttrain-mlogloss:0.22334\teval-mlogloss:0.22752\n",
      "[494]\ttrain-mlogloss:0.22333\teval-mlogloss:0.22753\n",
      "[495]\ttrain-mlogloss:0.22332\teval-mlogloss:0.22753\n",
      "[496]\ttrain-mlogloss:0.22331\teval-mlogloss:0.22753\n",
      "[497]\ttrain-mlogloss:0.22330\teval-mlogloss:0.22753\n",
      "[498]\ttrain-mlogloss:0.22330\teval-mlogloss:0.22753\n",
      "[499]\ttrain-mlogloss:0.22329\teval-mlogloss:0.22753\n",
      "[500]\ttrain-mlogloss:0.22328\teval-mlogloss:0.22753\n",
      "[501]\ttrain-mlogloss:0.22327\teval-mlogloss:0.22753\n",
      "[502]\ttrain-mlogloss:0.22325\teval-mlogloss:0.22753\n",
      "[503]\ttrain-mlogloss:0.22324\teval-mlogloss:0.22753\n",
      "[504]\ttrain-mlogloss:0.22323\teval-mlogloss:0.22753\n",
      "[505]\ttrain-mlogloss:0.22321\teval-mlogloss:0.22753\n",
      "[506]\ttrain-mlogloss:0.22321\teval-mlogloss:0.22753\n",
      "[507]\ttrain-mlogloss:0.22319\teval-mlogloss:0.22753\n",
      "[508]\ttrain-mlogloss:0.22318\teval-mlogloss:0.22753\n",
      "[509]\ttrain-mlogloss:0.22318\teval-mlogloss:0.22753\n",
      "[510]\ttrain-mlogloss:0.22316\teval-mlogloss:0.22753\n",
      "[511]\ttrain-mlogloss:0.22315\teval-mlogloss:0.22753\n",
      "[512]\ttrain-mlogloss:0.22313\teval-mlogloss:0.22753\n",
      "[513]\ttrain-mlogloss:0.22312\teval-mlogloss:0.22754\n",
      "[514]\ttrain-mlogloss:0.22311\teval-mlogloss:0.22753\n",
      "[515]\ttrain-mlogloss:0.22310\teval-mlogloss:0.22753\n",
      "[516]\ttrain-mlogloss:0.22310\teval-mlogloss:0.22753\n",
      "[517]\ttrain-mlogloss:0.22308\teval-mlogloss:0.22753\n",
      "[518]\ttrain-mlogloss:0.22307\teval-mlogloss:0.22753\n",
      "[519]\ttrain-mlogloss:0.22306\teval-mlogloss:0.22753\n",
      "[520]\ttrain-mlogloss:0.22305\teval-mlogloss:0.22753\n",
      "[521]\ttrain-mlogloss:0.22304\teval-mlogloss:0.22753\n",
      "[522]\ttrain-mlogloss:0.22303\teval-mlogloss:0.22753\n",
      "[523]\ttrain-mlogloss:0.22302\teval-mlogloss:0.22753\n",
      "[524]\ttrain-mlogloss:0.22300\teval-mlogloss:0.22753\n",
      "[525]\ttrain-mlogloss:0.22300\teval-mlogloss:0.22753\n",
      "[526]\ttrain-mlogloss:0.22298\teval-mlogloss:0.22753\n",
      "[527]\ttrain-mlogloss:0.22297\teval-mlogloss:0.22753\n",
      "[528]\ttrain-mlogloss:0.22296\teval-mlogloss:0.22753\n",
      "[529]\ttrain-mlogloss:0.22295\teval-mlogloss:0.22754\n",
      "[530]\ttrain-mlogloss:0.22294\teval-mlogloss:0.22754\n",
      "[531]\ttrain-mlogloss:0.22292\teval-mlogloss:0.22754\n",
      "[532]\ttrain-mlogloss:0.22291\teval-mlogloss:0.22754\n",
      "[533]\ttrain-mlogloss:0.22290\teval-mlogloss:0.22754\n",
      "[534]\ttrain-mlogloss:0.22289\teval-mlogloss:0.22754\n",
      "[535]\ttrain-mlogloss:0.22288\teval-mlogloss:0.22754\n",
      "[536]\ttrain-mlogloss:0.22286\teval-mlogloss:0.22754\n",
      "[537]\ttrain-mlogloss:0.22285\teval-mlogloss:0.22754\n",
      "[538]\ttrain-mlogloss:0.22284\teval-mlogloss:0.22754\n",
      "[539]\ttrain-mlogloss:0.22283\teval-mlogloss:0.22754\n",
      "[540]\ttrain-mlogloss:0.22282\teval-mlogloss:0.22755\n",
      "[541]\ttrain-mlogloss:0.22281\teval-mlogloss:0.22755\n",
      "[542]\ttrain-mlogloss:0.22280\teval-mlogloss:0.22755\n",
      "[543]\ttrain-mlogloss:0.22279\teval-mlogloss:0.22754\n",
      "[544]\ttrain-mlogloss:0.22278\teval-mlogloss:0.22754\n",
      "[545]\ttrain-mlogloss:0.22277\teval-mlogloss:0.22754\n",
      "[546]\ttrain-mlogloss:0.22276\teval-mlogloss:0.22754\n",
      "[547]\ttrain-mlogloss:0.22275\teval-mlogloss:0.22754\n",
      "[548]\ttrain-mlogloss:0.22274\teval-mlogloss:0.22754\n",
      "[549]\ttrain-mlogloss:0.22273\teval-mlogloss:0.22755\n",
      "[550]\ttrain-mlogloss:0.22273\teval-mlogloss:0.22755\n",
      "[551]\ttrain-mlogloss:0.22271\teval-mlogloss:0.22755\n",
      "[552]\ttrain-mlogloss:0.22270\teval-mlogloss:0.22755\n",
      "[553]\ttrain-mlogloss:0.22269\teval-mlogloss:0.22754\n",
      "[554]\ttrain-mlogloss:0.22267\teval-mlogloss:0.22754\n",
      "[555]\ttrain-mlogloss:0.22266\teval-mlogloss:0.22754\n",
      "[556]\ttrain-mlogloss:0.22265\teval-mlogloss:0.22754\n",
      "[557]\ttrain-mlogloss:0.22264\teval-mlogloss:0.22755\n",
      "[558]\ttrain-mlogloss:0.22263\teval-mlogloss:0.22755\n",
      "[559]\ttrain-mlogloss:0.22262\teval-mlogloss:0.22755\n",
      "[560]\ttrain-mlogloss:0.22260\teval-mlogloss:0.22755\n",
      "[561]\ttrain-mlogloss:0.22260\teval-mlogloss:0.22755\n",
      "[562]\ttrain-mlogloss:0.22259\teval-mlogloss:0.22755\n",
      "[563]\ttrain-mlogloss:0.22257\teval-mlogloss:0.22756\n",
      "[564]\ttrain-mlogloss:0.22256\teval-mlogloss:0.22756\n",
      "[565]\ttrain-mlogloss:0.22255\teval-mlogloss:0.22756\n",
      "[566]\ttrain-mlogloss:0.22254\teval-mlogloss:0.22756\n",
      "[567]\ttrain-mlogloss:0.22253\teval-mlogloss:0.22755\n",
      "[568]\ttrain-mlogloss:0.22252\teval-mlogloss:0.22756\n",
      "[569]\ttrain-mlogloss:0.22250\teval-mlogloss:0.22756\n",
      "[570]\ttrain-mlogloss:0.22250\teval-mlogloss:0.22756\n",
      "[571]\ttrain-mlogloss:0.22248\teval-mlogloss:0.22756\n",
      "[572]\ttrain-mlogloss:0.22247\teval-mlogloss:0.22756\n",
      "[573]\ttrain-mlogloss:0.22246\teval-mlogloss:0.22756\n",
      "[574]\ttrain-mlogloss:0.22245\teval-mlogloss:0.22756\n",
      "[575]\ttrain-mlogloss:0.22244\teval-mlogloss:0.22756\n",
      "[576]\ttrain-mlogloss:0.22243\teval-mlogloss:0.22756\n",
      "[577]\ttrain-mlogloss:0.22242\teval-mlogloss:0.22756\n",
      "[578]\ttrain-mlogloss:0.22241\teval-mlogloss:0.22756\n",
      "[579]\ttrain-mlogloss:0.22240\teval-mlogloss:0.22756\n",
      "[580]\ttrain-mlogloss:0.22239\teval-mlogloss:0.22756\n",
      "[581]\ttrain-mlogloss:0.22238\teval-mlogloss:0.22756\n",
      "[582]\ttrain-mlogloss:0.22237\teval-mlogloss:0.22756\n",
      "[583]\ttrain-mlogloss:0.22236\teval-mlogloss:0.22756\n",
      "[584]\ttrain-mlogloss:0.22235\teval-mlogloss:0.22757\n",
      "[585]\ttrain-mlogloss:0.22234\teval-mlogloss:0.22757\n",
      "[586]\ttrain-mlogloss:0.22233\teval-mlogloss:0.22757\n",
      "[587]\ttrain-mlogloss:0.22232\teval-mlogloss:0.22757\n",
      "[588]\ttrain-mlogloss:0.22231\teval-mlogloss:0.22756\n",
      "[589]\ttrain-mlogloss:0.22229\teval-mlogloss:0.22756\n"
     ]
    },
    {
     "ename": "TypeError",
     "evalue": "Booster.predict() got an unexpected keyword argument 'ntree_limit'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mTypeError\u001B[0m                                 Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[113], line 41\u001B[0m\n\u001B[0;32m     29\u001B[0m watchlist \u001B[38;5;241m=\u001B[39m [(train_matrix, \u001B[38;5;124m'\u001B[39m\u001B[38;5;124mtrain\u001B[39m\u001B[38;5;124m'\u001B[39m),\n\u001B[0;32m     30\u001B[0m              (test_matrix, \u001B[38;5;124m'\u001B[39m\u001B[38;5;124meval\u001B[39m\u001B[38;5;124m'\u001B[39m)\n\u001B[0;32m     31\u001B[0m              ]\n\u001B[0;32m     32\u001B[0m model \u001B[38;5;241m=\u001B[39m clf\u001B[38;5;241m.\u001B[39mtrain(params,\n\u001B[0;32m     33\u001B[0m                   train_matrix,\n\u001B[0;32m     34\u001B[0m                   num_boost_round\u001B[38;5;241m=\u001B[39mnum_round,\u001B[38;5;66;03m#训练的轮数，即生成的树的数量\u001B[39;00m\n\u001B[1;32m   (...)\u001B[0m\n\u001B[0;32m     39\u001B[0m                   evals_result \u001B[38;5;241m=\u001B[39mscore_dict\n\u001B[0;32m     40\u001B[0m                   )\n\u001B[1;32m---> 41\u001B[0m y_train_pred \u001B[38;5;241m=\u001B[39m model\u001B[38;5;241m.\u001B[39mpredict(train_matrix ,ntree_limit\u001B[38;5;241m=\u001B[39mmodel\u001B[38;5;241m.\u001B[39mbest_iteration)\u001B[38;5;66;03m#ntree_limit  用于预测的树的数量\u001B[39;00m\n\u001B[0;32m     42\u001B[0m y_train_pred_pos \u001B[38;5;241m=\u001B[39m y_train_pred[:,\u001B[38;5;241m1\u001B[39m]\n\u001B[0;32m     44\u001B[0m y_test_pred \u001B[38;5;241m=\u001B[39m model\u001B[38;5;241m.\u001B[39mpredict(z,ntree_limit\u001B[38;5;241m=\u001B[39mmodel\u001B[38;5;241m.\u001B[39mbest_iteration)\n",
      "\u001B[1;31mTypeError\u001B[0m: Booster.predict() got an unexpected keyword argument 'ntree_limit'"
     ]
    }
   ],
   "execution_count": 113
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:14.902369Z",
     "start_time": "2024-09-18T13:40:14.887808Z"
    }
   },
   "cell_type": "code",
   "source": "plot_auc_curve(fpr, tpr, auc_test)",
   "id": "e2330eaea2c28604",
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'fpr' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mNameError\u001B[0m                                 Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[115], line 1\u001B[0m\n\u001B[1;32m----> 1\u001B[0m plot_auc_curve(fpr, tpr, auc_test)\n",
      "\u001B[1;31mNameError\u001B[0m: name 'fpr' is not defined"
     ]
    }
   ],
   "execution_count": 115
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:16.854497Z",
     "start_time": "2024-09-18T13:40:16.690850Z"
    }
   },
   "cell_type": "code",
   "source": [
    "plt.figure(figsize = (15,8))\n",
    "plt.plot(score_dict['train']['mlogloss'], 'r-+', label = 'Training Loss')\n",
    "plt.plot(score_dict['eval']['mlogloss'], 'b-', label = 'Test Loss')"
   ],
   "id": "ce845169eca7a459",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x22910c9b850>]"
      ]
     },
     "execution_count": 116,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1500x800 with 1 Axes>"
      ],
      "image/png": "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FRXOZUWFc1lR4VxWVKTTXG6spTlHbjU79KqsrKSwsHDr57FYjKysLNatW0d+fv7H3r927VruvvtufvWrXzX3WwJQX18PwOuvv96i+9Jd1N6P2jfns6LCuayocC4rKpzLigrnsqIineZyY160K80OvbKzs8nNzd3utby8PDZv3tys0Gv69OmMGTOGo48+urnfMigwJ4cRI0aQlZVFLBZr0b2SJEmSJEmKjlQqRX19PTk5Hx9pNTv0ys/PZ9GiRdu9VlVVRYcOHT723nvuuYcXX3yROXPmNPfbbZWVlfWRsE2SJEmSJEnalWYfZD9ixAjmz5+/9fOlS5dSXV39sau8XnnlFS655BKuvvpqCgoKdr9SSZIkSZIkqZmaHXqNGzeODRs2bF2tNXPmTMaPH092djaVlZXU1NR85J7y8nImT57MpEmTGD58OFVVVVRVVbVa8ZIkSZIkSdKOxFLNOe6+wSOPPMK5555Lly5dqKurY9asWQwePJhjjz2WCy+8kAkTJmw3/tZbb+XSSy/9yNd5880397xySZIkSZIkaSdaFHoBrFy5krKyMoqKiujZs+feqkuSJEmSJEnabS0OvSRJkiRJkqR01+wzvSRJkiRJkqRMYeglSZIkSZKkyDH0kiRJyiBr165l3rx5VFRUhF2KJElSWjP0akMLFy5k4sSJjBs3jssvvxyPU1O6W7t2LcceeyxLly7d+tqu5rFzXOnqkUce4TOf+QyHHHIIX/3qV1m8eDHgfFbmeeCBBzjuuOP4xS9+wTHHHMMDDzwAOJeV2c444wzuvfdewLmszDNjxgyGDh269frsZz8LOJeVua688komT5689fNMn8uGXm2kurqayZMnM3z4cGbPns3ixYu3/sddSkcVFRVMnjyZZcuWbX1tV/PYOa509d5773HhhRdy7rnn8uSTT7Lvvvvyv//7v85nZZz169czY8YM7rjjDubMmcP06dO58sorncvKaH/961/597//Dfj3DGWm1157jZkzZ/LCCy/wwgsvcN999zmXlbEWLlzInXfeyYUXXghE5M/llNrEP//5z9S4ceNSGzduTKVSqdQbb7yR+sY3vhFyVdLOnXbaaalbb701NWTIkNT777+fSqV2PY+d40pXjz32WOrOO+/c+vmzzz6bGj58uPNZGWf58uWpv/zlL1s/f+ONN1JjxoxxLitjrV27NjV+/PjU8ccfn5o9e7ZzWRmnpqYmNWbMmFRlZeV2rzuXlYnq6+tTX//611PXXnvt1teiMJdd6dVGFixYwKhRo+jUqRMAQ4cO3bq9RkpHM2bM4LTTTtvutV3NY+e40tUxxxzDKaecsvXzJUuWMHDgQOezMk48HqekpASAmpoabrnlFo477jjnsjLW5ZdfzoQJExg9ejTg3zOUed58801SqRQnn3wyI0eO5IwzzmD58uXOZWWkP/3pTyxYsIDCwkIef/xxampqIjGXDb3aSGVlJYWFhVs/j8ViZGVlsW7duhCrknZuv/32+8hru5rHznFlgurqam655Ra++c1vOp+VsRYsWMCRRx7J008/zYUXXuhcVkZ67rnnePbZZ/nJT36y9TXnsjLN4sWLGTx4MFdddRUPPPAAHTp04Oc//7lzWRmnqqqKa6+9loEDB7JixQp+//vfc+qpp0ZiLht6tZHs7Gxyc3O3ey0vL4/NmzeHVJHUcruax85xZYJrr72Wzp0787Wvfc35rIw1dOhQbr31Vg466CAuuOAC57IyzpYtW5g6dSrTpk2ja9euW193LivTlJSU8Kc//YmRI0ey33778bOf/Yynn36a+vp657Iyyj//+U82bdrEH/7wB8466yxuueUW1q9fz+zZszN+Lht6tZH8/PyPPFq8qqqKDh06hFSR1HK7msfOcaW7p59+mrvuuourrrrqY+es81npLBaLccghh3DZZZfx6KOPOpeVcW688UYOPfRQjj766O1edy4r03Xr1o36+noKCgqcy8ooK1asYOTIkXTv3h2AnJwchg4dypYtWzJ+Lht6tZERI0Ywf/78rZ8vXbqU6upq8vPzQ6xKapldzWPnuNLZ+++/z3nnnce0adM46KCDAOezMs+zzz7L5ZdfvvXz7OxsAAYNGuRcVka5//77eeyxxxg7dixjx47lb3/7G9OnT2fOnDnOZWWUSy+9lL///e9bPy8rKyMrK4uhQ4c6l5VR+vXrx5YtW7Z7bfny5Zx//vkZP5cNvdrIuHHj2LBhA3PmzAFg5syZjB8/futfWKVMsKt57BxXutq8eTOlpaVMmDCBz3zmM1RVVVFVVcXYsWOdz8oogwYN4u677+buu+8mmUxy1VVXceSRR3L00Uc7l5VR7rzzTu6//37mzJnDnDlzOPbYYznnnHOYNWuWc1kZZdiwYVx77bW88MILPPvss8yYMYMvfelLHHnkkc5lZZSjjz6axYsX88c//pEVK1Zw22238cYbb3DUUUdl/FyOpVKpVNhFtBePPPII5557Ll26dKGuro5Zs2YxePDgsMuSdmno0KE8+uijWw8p3NU8do4rHT3yyCOcddZZH3n90UcfZcGCBc5nZZSnnnqKSy+9lBUrVnDUUUcxbdo0evbs6Z/Nymj/8z//w2GHHcaXv/xl57IyzlVXXcVdd91Fly5dmDBhAlOmTKFz587OZWWcl19+mcsuu4w33niDgoICLrjgAiZMmJDxc9nQq42tXLmSsrIyioqK6NmzZ9jlSLtlV/PYOa5M43xWVDiXFRXOZUWFc1lRkclz2dBLkiRJkiRJkeOZXpIkSZIkSYocQy9JkiRJkiRFjqGXJEmSJEmSIsfQS5IkSZIkSZFj6CVJkiRJkqTIMfSSJEmSJElS5Bh6SZIkSZIkKXIMvSRJkiRJkhQ5hl6SJEmSJEmKnP8HNmMKobGhPpIAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 116
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:19.702913Z",
     "start_time": "2024-09-18T13:40:19.055184Z"
    }
   },
   "cell_type": "code",
   "source": [
    "features_columns = [col for col in train_data.columns if col not in ['user_id','label']]\n",
    "train_data_1 = train_data[features_columns]\n",
    "test_data_1 = test_data[features_columns]\n",
    "target =train_data['label']"
   ],
   "id": "839d8fdf45ade7fb",
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'label'",
     "output_type": "error",
     "traceback": [
      "\u001B[1;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[1;31mKeyError\u001B[0m                                  Traceback (most recent call last)",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\core\\indexes\\base.py:3802\u001B[0m, in \u001B[0;36mIndex.get_loc\u001B[1;34m(self, key, method, tolerance)\u001B[0m\n\u001B[0;32m   3801\u001B[0m \u001B[38;5;28;01mtry\u001B[39;00m:\n\u001B[1;32m-> 3802\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_engine\u001B[38;5;241m.\u001B[39mget_loc(casted_key)\n\u001B[0;32m   3803\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m \u001B[38;5;28;01mas\u001B[39;00m err:\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\_libs\\index.pyx:138\u001B[0m, in \u001B[0;36mpandas._libs.index.IndexEngine.get_loc\u001B[1;34m()\u001B[0m\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\_libs\\index.pyx:165\u001B[0m, in \u001B[0;36mpandas._libs.index.IndexEngine.get_loc\u001B[1;34m()\u001B[0m\n",
      "File \u001B[1;32mpandas\\_libs\\hashtable_class_helper.pxi:5745\u001B[0m, in \u001B[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001B[1;34m()\u001B[0m\n",
      "File \u001B[1;32mpandas\\_libs\\hashtable_class_helper.pxi:5753\u001B[0m, in \u001B[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001B[1;34m()\u001B[0m\n",
      "\u001B[1;31mKeyError\u001B[0m: 'label'",
      "\nThe above exception was the direct cause of the following exception:\n",
      "\u001B[1;31mKeyError\u001B[0m                                  Traceback (most recent call last)",
      "Cell \u001B[1;32mIn[117], line 4\u001B[0m\n\u001B[0;32m      2\u001B[0m train_data_1 \u001B[38;5;241m=\u001B[39m train_data[features_columns]\n\u001B[0;32m      3\u001B[0m test_data_1 \u001B[38;5;241m=\u001B[39m test_data[features_columns]\n\u001B[1;32m----> 4\u001B[0m target \u001B[38;5;241m=\u001B[39mtrain_data[\u001B[38;5;124m'\u001B[39m\u001B[38;5;124mlabel\u001B[39m\u001B[38;5;124m'\u001B[39m]\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\core\\frame.py:3807\u001B[0m, in \u001B[0;36mDataFrame.__getitem__\u001B[1;34m(self, key)\u001B[0m\n\u001B[0;32m   3805\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mcolumns\u001B[38;5;241m.\u001B[39mnlevels \u001B[38;5;241m>\u001B[39m \u001B[38;5;241m1\u001B[39m:\n\u001B[0;32m   3806\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_getitem_multilevel(key)\n\u001B[1;32m-> 3807\u001B[0m indexer \u001B[38;5;241m=\u001B[39m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39mcolumns\u001B[38;5;241m.\u001B[39mget_loc(key)\n\u001B[0;32m   3808\u001B[0m \u001B[38;5;28;01mif\u001B[39;00m is_integer(indexer):\n\u001B[0;32m   3809\u001B[0m     indexer \u001B[38;5;241m=\u001B[39m [indexer]\n",
      "File \u001B[1;32mD:\\kaifaruanjian\\Anaconda3\\Lib\\site-packages\\pandas\\core\\indexes\\base.py:3804\u001B[0m, in \u001B[0;36mIndex.get_loc\u001B[1;34m(self, key, method, tolerance)\u001B[0m\n\u001B[0;32m   3802\u001B[0m     \u001B[38;5;28;01mreturn\u001B[39;00m \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_engine\u001B[38;5;241m.\u001B[39mget_loc(casted_key)\n\u001B[0;32m   3803\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m \u001B[38;5;28;01mas\u001B[39;00m err:\n\u001B[1;32m-> 3804\u001B[0m     \u001B[38;5;28;01mraise\u001B[39;00m \u001B[38;5;167;01mKeyError\u001B[39;00m(key) \u001B[38;5;28;01mfrom\u001B[39;00m \u001B[38;5;21;01merr\u001B[39;00m\n\u001B[0;32m   3805\u001B[0m \u001B[38;5;28;01mexcept\u001B[39;00m \u001B[38;5;167;01mTypeError\u001B[39;00m:\n\u001B[0;32m   3806\u001B[0m     \u001B[38;5;66;03m# If we have a listlike key, _check_indexing_error will raise\u001B[39;00m\n\u001B[0;32m   3807\u001B[0m     \u001B[38;5;66;03m#  InvalidIndexError. Otherwise we fall through and re-raise\u001B[39;00m\n\u001B[0;32m   3808\u001B[0m     \u001B[38;5;66;03m#  the TypeError.\u001B[39;00m\n\u001B[0;32m   3809\u001B[0m     \u001B[38;5;28mself\u001B[39m\u001B[38;5;241m.\u001B[39m_check_indexing_error(key)\n",
      "\u001B[1;31mKeyError\u001B[0m: 'label'"
     ]
    }
   ],
   "execution_count": 117
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:24.410729Z",
     "start_time": "2024-09-18T13:40:24.403550Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def model(train_1,target_1):\n",
    "    X_train, X_val, y_train, y_val = train_test_split(train_1, target_1, test_size = 0.2 ,random_state = 42)\n",
    "\n",
    "    clf = XGBClassifier()\n",
    "\n",
    "    clf.fit(X_train, y_train)\n",
    "\n",
    "    y_train_pred = clf.predict_proba(X_train)\n",
    "    y_train_pred_pos = y_train_pred[:,1]\n",
    "\n",
    "    y_val_pred = clf.predict_proba(X_val)\n",
    "    y_val_pred_pos = y_val_pred[:,1]\n",
    "\n",
    "    auc_train = roc_auc_score(y_train, y_train_pred_pos)\n",
    "    auc_test = roc_auc_score(y_val, y_val_pred_pos)\n",
    "\n",
    "    print(f\"Train AUC Score {auc_train}\")\n",
    "    print(f\"Test AUC Score {auc_test}\")\n",
    "\n",
    "    fpr, tpr, _ = roc_curve(y_val, y_val_pred_pos)\n",
    "    return fpr,tpr,clf,auc_test"
   ],
   "id": "e4850d6a548c2823",
   "outputs": [],
   "execution_count": 118
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:32.021939Z",
     "start_time": "2024-09-18T13:40:30.695835Z"
    }
   },
   "cell_type": "code",
   "source": "fpr_1,tpr_1,clf_1,auc_test_1=model(train_data_1,target)#0.6153997",
   "id": "b5b77b8f5f3b67dd",
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train AUC Score 0.8099121275136587\n",
      "Test AUC Score 0.5795435413715768\n"
     ]
    }
   ],
   "execution_count": 119
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:33.938620Z",
     "start_time": "2024-09-18T13:40:33.934832Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def plot_auc_curve(fpr, tpr, auc):\n",
    "    plt.figure(figsize = (16,6))\n",
    "    plt.plot(fpr,tpr,'b+',linestyle = '-')\n",
    "    plt.fill_between(fpr, tpr, alpha = 0.5)\n",
    "    plt.ylabel('True Postive Rate')\n",
    "    plt.xlabel('False Postive Rate')\n",
    "    plt.title(f'ROC Curve Having AUC = {auc}')"
   ],
   "id": "6783605c38ac7bcf",
   "outputs": [],
   "execution_count": 120
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:37.035571Z",
     "start_time": "2024-09-18T13:40:36.816327Z"
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "plot_auc_curve(fpr_1, tpr_1, auc_test_1)"
   ],
   "id": "b9ed527f4866af6a",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1600x600 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABRwAAAIdCAYAAABfmbFaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+0klEQVR4nOzdd3iUVd7G8XtmUiEUAWmCWHAjYkBCj1lXkCJokOZKEXQpCqEtoCKxAFICFtTFJS66sIoFFBDE8koQLCuioCK40kRRIRNCIIQkEFLmef8YMxBCmUmemUkm38915UrmmXnO+U3CodycYjEMwxAAAAAAAAAAmMDq7wIAAAAAAAAABA4CRwAAAAAAAACmIXAEAAAAAAAAYBoCRwAAAAAAAACmIXAEAAAAAAAAYBoCRwAAAAAAAACmIXAEAAAAAAAAYBoCRwAAAAAAAACmIXAEAAAAAAAAYBoCRwAAAtxXX32lyMhI10f79u01evRo7du3r9jrPvnkE8XFxSkqKko9e/ZUcnJyibZefvll/eUvf1HLli01duxYpaene1RLdna2Hn30UbVp00bt27fXvHnzVFBQUKb352tDhgzR8OHDi11bsGCB2rRp45X+IiMj9dVXX3mlbXf17t1bgwcPLnE9MjJS//nPf4pdi4+P15AhQ1yP8/Pz9fTTT6tjx46Kjo7W1KlTlZOT4+2SS1i9erW6du2qdu3a6fHHH9epU6c8un/+/PnFxlFkZKT++te/SpIOHDhQ4rmij86dO7vaePvtt3Xbbbfp+uuv1x133KFPPvmkWB/Lly8vcf+NN9543ppmzZpV7HstSYZhaOXKlZo8ebKmTJmijRs3Fnv+v//97znrPN/34z//+U+x93CmZ599Vg8//PA5n9u/f78SExM1fvx4Pffcczp69KjruSFDhpz3+3X2r/W33367xHuUpNzcXF133XUl7v/ss88kSQ8//PB5+1i1alWJ79mAAQN0//33l+hn6dKl6tKli1q2bKm4uDitX7/+nO8XAAAUF+TvAgAAgG8kJiaqadOmOnDggBYsWKDBgwfro48+Uo0aNfT9999rzJgx+vOf/6yHHnpIb731liZMmKDXX39drVq1kiQtWrRIzz//vB544AFdc801evbZZzVx4kQtXbrU7Rr+/ve/a9euXZo1a5YcDodmzJihKlWqaNy4cd562xXeihUrdOWVV/qt/6NHj2rXrl0KCgpSdna2IiIiPLp/5syZWrt2rR599FHVqlVLs2bN0syZMzV37lwvVVxScnKypkyZosGDB6tTp05asGCB5syZoxkzZrjdxo8//qgBAwaof//+rmtVqlSRJNWtW1crVqwocU9iYqJq1aolyRlcPfnkk5o8ebKioqK0du1ajR49Wi+99JJiY2NdfXTu3Fnx8fGuNoKDg89ZzzfffKPXX3+9RNA9bdo0bdy4UX369FFaWppGjx6tGTNm6K677nL1ERUVpWnTphW7LyQkpEQfv/32m5577jnXezjTBx98oH/961/q3bt3ied++eUX9e/fXzExMWratKnef/99vf/++3r33XcVHh6uGTNmlAidN2/erBdeeEFXXXWV69rWrVs1c+ZMtWzZskQfu3fvlsVi0dtvvy2LxeK6XjRWxo4dWyIk37dvnx5++GE1a9as2PXly5frhx9+0Pvvv1/s+meffabnnntOjz32mBo2bKi1a9dq/PjxWrVqla699toSNQEAgNMIHAEAqCSuuuoqtWjRQi1atNDVV1+tXr16aePGjerdu7defvll1axZU//4xz8UEhKi9u3bq1OnTlq8eLEWLFig7OxsJSUlaeDAgfrb3/4mSapevbruvPNOfffdd65Q8kK+/PJLff7553rhhRfUtWtXSVJKSooWLlyo+++//5yBB6SoqCi/9v/FF1/IZrOpsLBQX3/99Xlnu53L/v379fbbb2vKlCnq16+fJOfMtEmTJunvf/+76tev762yi3n22Wd100036fHHH5ckNWnSRD169NC4ceNUp04dt9rYuXOn7rzzznP+PEJCQkpc/+mnn/T9999r1apVcjgc+te//qV77rlH9957rySpdevW2r17txYvXuwKHHfu3Klbb731oj/zU6dOKSEhwRV4Ftm+fbveeecdvfvuu67gLSgoSG+88YYrcNy5c6datmx50T4Mw9Ajjzwim81W4rnly5dr7ty5atq06TnvnTt3rrp166bExERJ0l133aW//OUv+uKLL9SlS5dioWKRWbNmafDgwbr00kslSRs3btSkSZN09dVXn7OPH3/80fV72rk0atRIjRo1KnZt8eLF6t69e7HAMT09Xc8884yGDRumJk2aFHv92rVr1atXL1eo2q5dO3366afasGEDgSMAABfBkmoAACqhyMhIhYSEKDU1VZL09ddfq3Xr1q7QLyQkRG3atNHXX38tyRk6nThxQrfeequrjebNm8tqtWrv3r1u9bl+/XqFhobq5ptvdl27/vrrlZOTo5SUFJPeGcy2adMmtW7dWtddd52++OILj+7dsGGDHA6Hunfv7rp2/fXXy+FwlFjSfy5nbwdw9seBAwcu2sahQ4e0b98+xcXFua5dfvnluvrqq7V582a33sehQ4eUnp7uUfj7wgsv6NZbb1VkZKRSU1N1+PDhEsujr776ah08eFCSVFhYqN27d7vVx/PPPy9JGjBgQLHr1apV0/z584vNiK1bt67y8vJcj4tmOF7MG2+8oT179pxzmfG2bdv0yiuv6Prrrz/nvbfffrvGjx/velyrVi0FBQUVq+NMn376qfbu3auRI0e6rn399dd67rnnzhtw//jjj+ft/1z27t2rdevWFatLcs5CDQ8P16hRo0rck5GRIYfD4XpsGIYKCwsVGhrqdr8AAFRWBI4AAFRCmZmZysvLU61atZSdna1jx46pYcOGxV5Tv359HTt2TNnZ2dqzZ48kFQsybDab/v3vf6tjx45u9blnzx41atSo2BLR66+/Xi+99JJq1arlCpfOVLQ3XlGwdObjVatWKS4uTgkJCa7X33PPPa5ZbEXmz59fbNnn0aNH9dBDD6lt27bq2LGjHn/8cZ04ccKt9+Cu9PR0TZw4Ue3bt1e7du00YcIE1x52ubm5atWqld57771i9wwYMEBz5swp0da59rUr+l4dPnxYo0aN0g033KCuXbu69q8r8uyzz6pjx46KjY3VCy+8oL/97W/q2bOnR+9l06ZNateundq1a6f//ve/Ht27Z88ehYWFqUGDBq5r9evX10svvaRrrrnmovdff/31Wr169Xk/6tate9E20tLSJKnEr62GDRtq//79br2P//3vfwoKCtLEiRPVsmVL/eUvf9Fzzz2n/Pz8c77+999/10cffeTa67NolmBGRkax1/3000+qV6+e6+vc3Fw988wzatWqlTp27KgnnnhC2dnZxe7Zvn27Xn31VSUmJiosLKzYc1deeaVr9rAkHT58WKtXr1a3bt0kSVlZWfr111/12muvqXXr1mrbtq0eeOABHT58uFg7Bw8e1NNPP61p06adcwbo7NmzzzuzUJLi4uKK/cz/85//KCwsTDExMed8/b///W/17dtXl1xyievagw8+qL/85S/n7eN///uftm/frtjYWLVs2VJDhgzR9u3bz/v6xYsX66abbio2Y3Lz5s1677331LBhQz322GN68sknXf8JI0k33nij3nvvPW3dulXZ2dl68cUXdfz48WL/8QIAAM6NJdUAAFQyR48e1Zw5cxQcHKybbrrJtZdaeHh4sdcVPc7JydGRI0ckSTVq1Cj2mvMFCOdy5MiREvdHRETopptu8vg9LFmyRJ988kmJJa633XabXnjhhWKv3bhxY7HZbePHj1dmZqaefvppnTp1SjNnztTJkyf11FNPud1/0cEbZ6pWrZrr64ceekj79+/Xk08+KZvNprlz5+rpp5/WnDlzFBYWps6dO2vjxo26/fbbJTl/Jt9///15D+A4n5EjR6pjx46655579OKLL2rKlCn64osvZLVa9e677+qNN95QYmKisrOz9cgjj+iBBx5wa/l7kZ9++kmpqalq166dcnJytHjxYqWkpJQIp8/nXD/zol937qhatWqJ/fY8VXQYytl1hIaGlggAz2f79u0KCQlRly5d9Pe//107duzQP/7xD0nOfUnP9sYbb6hly5a67rrrJDlnGTZp0kT//Oc/1bp1a9WrV09vvPGGvvvuOz3yyCOuPmw2m9q3b68JEybo559/1vz585WVleX6tZmXl6eEhAQNHTpU0dHRF5xxOmbMGG3evFkdOnTQmDFjJEk//PCDDMNQ8+bNNXHiRKWlpWn+/PmaMGGC3njjDde9jz32mG666Sb17NmzxAErkmS1ujdnYf369XrhhRe0b98+LVmyRDVr1izxmr179+rrr78usZ/mhfo4deqU9uzZo9atW2vixImyWq1atGiRhg0bpvXr15foJyMjQ++//76SkpKKXS/6vmZkZKhKlSpav369Vq5cqeXLl+uKK67Q0KFD9d///te1F6TVatULL7ygyy67zK33DwBAZUbgCABAJVG0h5vkXOL4zDPPqH79+jp06JAk53LBMxU9tlgsrqWQ7gYN55KXl1em+8/06aef6u233y5xmEW3bt30xBNP6Mcff9R1112nlJQU7d27Vz169JDknBm4ZcsWrV692hVkHTp0SPPmzdPs2bPd3keyVatWxQ7dePPNN/XBBx+4Ht96661q1qyZKwzt2LFjsXCoZ8+eSkhIUGFhoWw2mz777DM1aNBAN9xwg0ffhzZt2mjKlCmSnOHcnXfeqcOHD6tevXratm2bbrzxRnXp0kWS9PrrrysvL8+jPr744guFhITohhtu0KlTp2Sz2fTFF1/ozjvvdOv+sv7Mi5awnk9Q0MX/Klv0Mz27juDgYOXm5rpVx8CBA9WnTx/XHn8dO3bUiRMntHz5co0fP75Y23l5eVq1apUrSJScY2j27Nm6//771blzZ4WFhbkO4CmafXvLLbeoVatWrn0RO3bsqJCQEM2YMUOPPPKIatasqX/+859yOByaMGHCRWuOiYlRZmamvvrqK3377bfq0KGDa8bomSFu/fr1de+992r37t2KjIzU22+/rV27dpWYgVsajRs3VocOHfT777/rP//5j1q1alViT8g33nhDHTt29OhgJKvVqjfeeEPNmjVzzZhu06aN/vKXv2jt2rUlTrVeuXKlGjRoUOw/SH744Qf98MMP6tKli1544QVZLBYdOHBA/fr104IFC/TMM8/ozTff1A8//KApU6aofv36Wrt2rSZPnqwXX3xRHTp0KMN3BgCAwMeSagAAKol58+bpnXfecf3Du2hfvaJTh0+ePFns9UWPIyIiXIdTnL30eNiwYVq9erVb/VepUqVEHz///LMGDhzoWrJ9trND0CKTJk0658m5NWvWVMeOHbVx40ZJztmNUVFRaty4sSS5+undu7drH8BZs2YpPz/ftZeeO4pm3hV9FB10UaRnz576/vvvNXbsWMXGxmrp0qXFwq0///nPcjgc+u6771x1FoWinjjzFN6i70fRMt+rr75aO3bscO1h+PPPP5/3AI7z2bRpk/Ly8hQVFaU2bdqosLDQo2XV5/qZZ2VlaeDAgW7tB/n111+refPm5/1wZw/Hou9L0dLqIpmZmSVm9Z5PvXr1ShwoEh0draNHj7oC+yKfffaZTp48qVtuuaXY9bZt2+rTTz/VU0895Tp46d5771X16tVddZ59CEt0dLTy8/P1008/aefOnVqyZInmzp3r1h6CgwcP1muvvaaYmBjXNgPVqlUrMWM0OjpakvMwmaLwffr06eccX56KjIzUww8/rDfeeEPr168vcQp0QUGBPvzwQ4+X+QcHB6tFixbFtmeoXr26rrnmGu3cubPE69euXasePXoUO826aDn98OHDXdcbNWqkG2+8UT/++KMKCgr0j3/8Q7NmzdKwYcPUs2dPLVy4UC1atNBzzz3nUb0AAFRGzHAEAKCSuOKKK3Tddddp5MiRmj17tsaPH68mTZqoatWqql27domDW1JTU1W7dm1VqVJFV1xxhSTnHopFp7Pm5eVp06ZNrhl07vS/efNmGYbh+gd+amqqvv3223OehCtJdrv9nNcvtH9cz5499cYbb2jMmDH65JNPdNtttxV73mazacWKFcXCB0luLxO+mOzsbPXp00dhYWHq1auXBg0apN9++02LFi1yvaZoee7GjRvVsmVLffHFF3r11Vc97uvyyy8/73PXXnutjhw54lq+fOedd7r9s5KcweXXX3+tv/3tb7rjjjskScuWLdP//d//yeFwyGq1Kjg4uMQMxMLCQteswiuuuEIbNmxQVlaWa8n50aNH9e2336qgoOCiNRTNyDsfd/ZwbNiwoS699FJ9++23rkNGDMPQjz/+qLZt2170fsm53Llhw4bF9jPMzMyUdHrJdpEPPvhAsbGxqlq1aol2qlWrpp49e2ratGmqVauWK3iUnEuLw8LCXOH42X18+eWXOnXq1Dlnl0ZGRioxMVHdu3fXiRMnigXgnTt31kcffaSCggLZ7XadPHlSf/rTn1zPHzt2TJJzPH/xxRfKysrSuHHjztnH2LFjz/ncmQzD0IEDB3TZZZe5Zn5GRkbqsssuK3FQ0Jdffqnjx4+XCGcvJjMzU3v37lWbNm1KXD/75/Hzzz9r165dmjt3brHrRWHzmd9vybnUPiQkRBkZGcrMzCz2vMVi0Z/+9Kdis5kBAMC5McMRAIBK5s4771SdOnX0r3/9y3Wtffv22rp1q+sf63l5edq6davat28vSYqNjZUkffzxx657vvvuOxmG4fZJsbGxscrMzNQ333zjuvbNN98oIiJCTZo0cYWOZ86I+/DDDz1+f127dtWePXv0+++/a8uWLcUOeLjmmmtUWFgoq9Xqmp1osVj073//2xXulNXmzZv122+/aeHChRo5cqRiYmLOOROvZ8+e+uSTT7R161bVrl3btd+fJ84X1ErS9OnT9dxzz2nDhg368ssvNWvWLI/a/u6773TixAl17drV9b3q0qWLjh07ph9++EGSc0bYzz//7LrHMAz98ssvrj3uzvXr5ptvvpHVanXr/Z49k/TsD3eWwFutVnXr1k2vv/66a7/SDz74QOnp6W7vQTp9+nS99tprxa6tWbNGtWrVKhb65ufna+PGjerUqdN52zp06JBWrVqlMWPGuGYXS9KCBQtc+0IWWb16tYKDg3XddddpwIABJQ7Nueuuu9S8eXOtXr1anTt31r///W8NHz68WJj7888/q379+goKCtIbb7yh6dOnl3gfktSyZUt17ty5RB/jxo3TpZdeqtWrV5c4FftcTp48qbi4OP3f//2f69rx48d15MgRNWrUqNhrk5OTdcMNN3g8m/Lbb7/V/fffX2zMbtu2Tfv37y+xZUBycrLq169fYmbn9ddfL4vFol27drmuFRQU6Ntvv1XLli1Vs2ZNWSwW16916fR/shQd9AMAAM6PGY4AAFQyISEhGjFihJ588kmNHTtWDRs21PDhw5WcnKzx48fr7rvv1vLly5WZmemagXXFFVfozjvvVFJSkqpWraomTZpozpw5atWq1QVnG56pd+/eWrp0qSZNmqSpU6cqKytL//73vzV06FAFBQXpqquuUnBwsN566y0NHjxY7777rtavX+/x+4uIiNCNN96o2bNnq3nz5qpfv77ruQ4dOrhO5p0wYYLCwsL07LPPqqCgoMSy6NIqOmn3nXfeUYcOHbRu3Tq9/vrrJdrv2LGjjhw5oldeecXjJaXuqFKliut7WbNmTWVlZalRo0YXDCnP9MUXXyg0NLTYoTzR0dGufRxbtGihPn36aMGCBbrmmmt03XXX6f3339evv/6qJ598UpLzlN8bb7xRM2fOVGFhocLDw/XUU0+pZ8+epn2/3TFixAi9//776tevn6KiovThhx/qlltucYXl2dnZ+uWXX3TNNdeUOPlZku6++249/vjjstlsatSokdatW6fPP/9cjz/+eLH9G7///nudOHFCrVu3Pm8t//znP9WwYcNie6pKzn0ihw8frksuuUTXXXedvvrqK61atcp1TVKJ79mll15a7GCdfv36aenSpRo/fryGDBmi/fv369VXX3Xt+di/f3+9/vrreuihhxQTE6OdO3dq6dKluvXWW12HIJ194MrOnTsVEhLi9uE9VapU0V133aVp06bp+PHjatKkiV5++WXVqlXLdVp2kU2bNpVqK4Ebb7xRderU0f3336/+/fvr2LFjeumll3T55ZerT58+Jfo418+jXr166tWrlx577DE98MADqlWrlt58803Z7XYNHTrUdbjRnDlztH37dkVEROi///2v9u3bd87T5AEAQHHMcAQAoBK66667VLNmTb30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4XBIcs4O7Ny5s2JjY7VgwQLXdcMwNHfuXLVv315t27bVrFmzZBiGDh8+rMjISA0dOlQHDx50LWk+fPhwsX7OtaS6e/fu+vLLL12P586dq1mzZkmS8vPz9eSTTyo2NladO3fWBx984PF7O3TokLZu3arGjRtLkrKzszVhwgRFR0crNjZWr732miRp27ZtioyM1NSpU/X1118rMjJSUVFRrnays7OVkJCg9u3bq0ePHvr66689rgUAAKC8I3AEAAAoh/bs2aM2bdq4Pnbv3i1JOnbsmCZNmqTRo0dr3bp1qlmzphYuXHjR9nJycpSQkKDJkyfr/fffV1BQkBYvXixJ2rp1qx599FElJCRo6dKlWrNmjd59912P6j116pTeeOMNRUdHKygoSB999JFeeOEFJSYm6l//+pfWrl2rV199VZL0+eefa9WqVXrllVf0xhtvaP369frvf/+rOnXqaMuWLXrxxRfVoEED11LyOnXqXLT/bt266bPPPnM9/vzzz9WtWzdJ0qJFi7Ru3TotXrxYjz76qKZMmaLff//drfc1aNAgtW7dWp06dVLz5s01cOBASdI///lPHTx4UO+9956effZZJSYm6tChQ4qKitKWLVv0+OOPKzo6Wlu2bCm29+acOXO0d+9evfXWW7rnnns0ZswY5eTkuP19BgAAqAgIHAEAAMqhK6+8UqtXr3Z9XHnllZKcS3w/+eQTde/eXb/++qvy8/O1f//+i7Zns9kUFBSkvLw81a5dW0lJSZo4caIk6Z133lHXrl118803609/+pN69eqlDRs2uFXnm2++qTZt2uiGG27QDz/8oJkzZ0qSK1Br3769mjdvrnHjxmnZsmWSpLCwMDkcDuXl5emqq67Shg0bFBsbK4vFourVq6tKlSquJeXV/7+9+wvN+f3jOP7cbbON2QGlrcwKzaxEa/6sSJas5M/MwT1Jw20RW5RYQya1RK1NiaUcUDKtnHCgFpo/xXKibCQONto/y8jav3v3fA/0Xb/182P8dkA9H4dX9+e63lf32avrfV2JiURFRf20jv8MHDs6Oujp6SErKwv4dnozFAqRlpZGTk4OGRkZY8LJH6murqaqqgqA0tJS4uLiANi7dy9Xr14lEonQ2tpKIBDg3bt3TJo0icTEROLj44mOjiYxMZFp06YBMDIywq1btygpKSE1NZWCggJiY2N59uzZuGqRJEn6W3iHoyRJ0h8oJiaGWbNm/df4169fqayspL6+nnnz5pGQkDDaqvwjcXFxnDt3jpqaGk6dOkVmZiYnTpwgNTWVzs5Onj59OhrQhcNh5s+fP646N2zYwP79+0fDwX+1t7ePth8DpKSk0NHRAcDSpUvZs2cPZWVldHV1kZuby9GjR5kyZcq41vyehQsX0t/fT1tbG48ePWLNmjWj90h2dnZy9uxZKisrARgYGGDJkiXjmnfmzJksWLCA9PR06urqKC4uBqC5uZny8nLC4TCZmZnEx8cTiUR+ONfHjx8ZGhri4MGDo7X19fXR1tb2u9uWJEn6Ixk4SpIk/UVu375NY2MjDQ0NTJ06lWvXrnHnzp2fftfT00NiYiK1tbX09fVRXl7O6dOnqampISkpiYKCAgoLCwEYHh4eV4gJkJCQ8N1gNDk5eUzbcmtrK8nJyQC0tLSQk5NDUVERnZ2d7N69m9raWnbt2gV8ezDnd+6Q/PeU4+PHjwkGg6PjSUlJHDhwgEWLFgHf2r8TEhJ+ae6tW7dy4cIF9u3bRyAQ4NixY4RCIbZt28bIyAgrV64c8/vv7WH69OlMnjyZS5cukZSUBEB/fz8zZsz45b1KkiT9yWypliRJ+ov09fUB8PnzZxoaGrh48eK4wrmenh527NjBgwcP6O3tJRAIjIaKeXl53L17l+7ubiKRCFVVVVRXV/9fdQaDQa5cuUJjYyPNzc2cP3+egoICAJ48eUJJSQnNzc0MDQ0BjAk4U1JS6Orq4sWLF7S0tIz7Zejc3Fzu3btHU1MTy5YtGx3Py8vj5s2bDA8P8+nTJ4qLi6mvr/+l/axfv57e3l4ePnwIfLsTc3BwkPfv31NeXk53d/eY/2H27Nm8fv2alpYW3rx5w9u3bwkEAmzcuJG6ujqioqJob2+nsLCQ58+f/1ItkiRJfzpPOEqSJP1F8vLyuH//PuvWrSMtLY1gMMj169cZHBwkNjb2f343Z84cSktLOXnyJN3d3aSnp1NRUQFAVlYWJSUlHDlyhA8fPpCdnT16F+PvWrt2LV1dXZSWlhIOhwkGg2zfvh2A/Px8mpqaCIVCDAwMsGLFitHHWODbicTDhw8TCoUIh8McOnSIjIyMn665ePFiXr16RXZ2NjExMaPjRUVFfPnyhW3bthGJRNi8efOY9cYjPj6eTZs2cePGDVatWsXx48c5c+YMly9fJj8/n7S0NF6+fMny5csByMzMZMuWLeTn5xMdHU1FRQVz586lrKyMiooK8vPziYmJYefOnaxevfqXapEkSfrTRX39nX4VSZIkSZIkSfoOW6olSZIkSZIkTRgDR0mSJEmSJEkTxsBRkiRJkiRJ0oQxcJQkSZIkSZI0YQwcJUmSJEmSJE0YA0dJkiRJkiRJE8bAUZIkSZIkSdKEMXCUJEmSJEmSNGEMHCVJkiRJkiRNGANHSZIkSZIkSRPmH8TeD2ifmfx7AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 121
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:40:38.616653Z",
     "start_time": "2024-09-18T13:40:38.611826Z"
    }
   },
   "cell_type": "code",
   "source": [
    "def plot_learning_cuve(model, X, Y,num):\n",
    "    \n",
    "    x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size = 0.2, random_state = 11)\n",
    "    train_loss, test_loss = [], []\n",
    "    \n",
    "    for m in range(num,len(x_train),num):\n",
    "        \n",
    "        model.fit(x_train.iloc[:m,:], y_train[:m])\n",
    "        y_train_prob_pred = model.predict_proba(x_train.iloc[:m,:])\n",
    "        train_loss.append(log_loss(y_train[:m], y_train_prob_pred))\n",
    "        \n",
    "        y_test_prob_pred = model.predict_proba(x_test)\n",
    "        test_loss.append(log_loss(y_test, y_test_prob_pred))\n",
    "        \n",
    "    plt.figure(figsize = (15,8))\n",
    "    plt.plot(train_loss, 'r-+', label = 'Training Loss')\n",
    "    plt.plot(test_loss, 'b-', label = 'Test Loss')\n",
    "    plt.xlabel('Number Of Batches')\n",
    "    plt.ylabel('Log-Loss')\n",
    "    plt.legend(loc = 'best')\n",
    "    plt.show()"
   ],
   "id": "645fe8aa3a93e501",
   "outputs": [],
   "execution_count": 122
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2024-09-18T13:41:04.722988Z",
     "start_time": "2024-09-18T13:40:42.319979Z"
    }
   },
   "cell_type": "code",
   "source": "plot_learning_cuve(XGBClassifier(), train_data_1, target,5000)",
   "id": "e72c6d4c82772d89",
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 1500x800 with 1 Axes>"
      ],
      "image/png": "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K/68tHMVfb5qlfmuAwekDh3MtM/zzrPu3gEAAAAggCoVql1++eUaMmSI6tWrp6ysLD388MO67bbbtGDBAk2ePFmvvPIKoRoA1BTr1knvvSd99pkcqamSJMejjwbv+wcNkqZMkaKjzeg1RjkDAAAACAGVCtU++ugjzZ07V0lJSfr111915ZVX6oorrlB2drYGDBig8ePHB7pOAIA/0tOlRYukf/5T+uab8t/burV02mmS3e5tNlvlnqemSps2Ff38lStNk6SJE806awAAAABQy1UqVAsLC1NGRoacTqcyMjLkcDh07NgxxcXFqaCgQA6HI9B1AgBO5cAB6cMPpYULzdRLt9v7Ws+e0iWXyNWkieyPPy7XnDmy9+ljXktMDNzosfR073pt69dLo0ZJ8+ZJvXp5vwsAAAAAQkClQrWnn35a48aN02OPPab69eurZ8+eevTRRxUVFaXnn39enTp1CnSdAIDSHDokLV5sRqR98YVZy8yjf39p2DDp+uulVq0kSe6UFPN49tneoCuQSgvoevWqnu8CAAAAAAtVKlQ755xztGrVKh0+fFgNGjSQy+XS2rVr1b17d82bN08333xzoOsEAHgcPiwtWWKCtP/8R3I6va8lJUl/+Yt0ww1S27aWlQgAAAAAoa5SoZqH2+3W5s2b1aJFC/Xv31+S9OCDDwakMACAj2PHpKVLzdTOzz6T8vO9r/XqZYK0v/xFateu/M9JTNS+UaOUEIxpmImJZg01pnwCAAAACEGVCtVOnDihJ554Qp9//rkiIiKUn5+viy++WNOnT1dsbGygawSA0JeeLs2ZIyUne0OoEyekZcvMiLSPP5by8rzv797dG6SdfnrFvycxUenJycEL1diUAAAAAECIqlSoNnnyZLlcLq1atUrNmjVTRkaGJk2apEmTJum5554LdI0AEPrS06XJk6WLLzabDCxcKP3rX1Jurvc9Z55p1kj7y1+kM86wrlYAAAAAQOVCta+//loffvihmjVrJklKSEjQhAkTdN111wW0OACoE9xu6auvzPGf/lQ0SOvUyQRpw4ZJXbtaUx8AAAAAoIRKhWqJiYlavXq1rr/++sJzq1evVosWLQJWGACEvPR0afduafp0aflycy431+zUeckl0vDhJmSz2aytEwAAAABQQqVCtb/+9a8aPXq0/v3vf6t169bas2ePfvjhB82dOzfQ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1T333GNsX/odXNKlSxfjcZ06dYxw8NixY5o1a5bS09MlVf47dO7cWZI0cuRInThxQoMHD1atWrU0dOhQjR49+rquGwAAQCJUAwAAqLHhw4d7BDIOh0Pl5eXGtpk36j9y5Ijx+NixY8YSyCZNmigqKkqvv/66JKmiokJnz571OLZBgwam6na5XNq/f7+x/dNPPykwMFD169c3dZ6/culuMEl666231LVrV+Ma+vfv7/FaHx+fK37oQ5MmTVRQUKD27dtLkt5//3398ccfevnllyXJYwnr5ce9/PLLxnHnz583XvvLL79ozJgxmjZtmvbs2aOhQ4cqIiJCDzzwwA24agAAYGcs/wQAAKihrl27qkWLFsZ2kyZN9PPPP6u4uFgnT57U0qVLa3yuXbt26bPPPtOhQ4e0dOlS9ezZU5LUp08fff/99zp06JAk6cMPP9TEiROvq+7Y2Fht3LhRGzZsUF5enhYuXKiYmJjrOqdUGV4VFxdr//79WrJkiXFnWWlpqcrKynT06FHNnTtXe/fu9QjRAgMDdfz4ce3bt0+HDh0yAr9+/fppwYIFysvL0759+7R8+XLdd999Nbq+rKwslZWVqaioSGPGjNGmTZskScuWLdP06dN16NAhud1uud3uGt01BwAAcDWEagAAACZUXXrZpUsXde/eXU8++aQSExP1yiuv1Pg83bp106effqq+ffvK39/fuBsrMDBQaWlpSktLU58+fXTgwAHj0zOvVadOnTR58mRNnz5dgwYNUnh4uBISEq7rnFLlBxWEh4fr6aefVmBgoN58801J0rhx47RlyxbFxMTo5MmTioyM1I8//mgc16RJE7322muKj49XXFycdu3aJUkaNWqUevXqpVGjRikxMVEDBw5Unz59rlrHM888o9atW2vIkCEaPXq0evTooUGDBhm1nDlzRnFxcUpISNDo0aMVEhJy3dcOAADgcF/p3nsAAAAAAAAA1eJONQAAAAAAAMAkQjUAAAAAAADAJEI1AAAAAAAAwCRCNQAAAAAAAMAkQjUAAAAAAADAJEI1AAAAAAAAwCRCNQAAAAAAAMAkQjUAAAAAAADAJEI1AAAAAAAAwCRCNQAAAAAAAMAkQjUAAAAAAADApP8DQIdrdmuUEtwAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 123
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    },
    "ExecuteTime": {
     "start_time": "2024-09-18T13:41:04.723974Z"
    }
   },
   "cell_type": "code",
   "source": [
    "smote = SMOTE(random_state = 402)\n",
    "X_smote, Y_smote = smote.fit_resample(train_data_1,target)\n",
    "sns.countplot(Y_smote, edgecolor = 'black')"
   ],
   "id": "afdbc14b5b6d4f98",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "fpr_2,tpr_2,clf_2,auc_test_2=model(X_smote,Y_smote)#0.6022299",
   "id": "55bb67435b87d2d6",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "plot_learning_cuve(XGBClassifier(),X_smote, Y_smote,9600)",
   "id": "d8b273455a806567",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "smote = SMOTE(random_state = 446)\n",
    "X_smote1, Y_smote1 = smote.fit_resample(train_data_1,target)\n",
    "\n",
    "\n",
    "X_final = pd.concat([X_smote, X_smote1], axis = 0).reset_index(drop = True)\n",
    "Y_final = pd.concat([Y_smote, Y_smote1], axis = 0).reset_index(drop = True)\n",
    "\n",
    "sns.countplot(Y_final, edgecolor = 'black')"
   ],
   "id": "95c5442aec53ca46",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "fpr_5,tpr_5,clf_5,auc_test_5=model(X_final,Y_final)#0.6027413",
   "id": "d3b13378b2fc81f5",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "特征优化",
   "id": "aecd50c9fe66cf19"
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "def feature_selection(train, train_sel, target):\n",
    "    clf = XGBClassifier()\n",
    "    \n",
    "    scores = cross_val_score(clf, train, target, cv=5)\n",
    "    \n",
    "    scores_sel = cross_val_score(clf, train_sel, target, cv=5)\n",
    "    \n",
    "    print(\"No Select Accuracy: %0.2f (+/- %0.2f)\" % (scores.mean(), scores.std() * 2))     \n",
    "    print(\"Features Select Accuracy: %0.2f (+/- %0.2f)\" % (scores_sel.mean(), scores_sel.std() * 2))\n",
    "    return scores.mean(),scores_sel.mean()"
   ],
   "id": "5b0421dace3598b9",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "def select(train,goal):\n",
    "    a_score=[]\n",
    "    b_score=[]\n",
    "    for i in range(2,train.shape[1]+1):\n",
    "        sel = SelectKBest(mutual_info_classif, k=i)\n",
    "        sel = sel.fit(train, goal)\n",
    "        train_sel = sel.transform(train)\n",
    "        \n",
    "        print('训练数据未特征筛选维度', train.shape)\n",
    "        print('训练数据特征筛选维度后', train_sel.shape)\n",
    "        mean_train,mean_test=feature_selection(train, train_sel, goal)\n",
    "        a_score.append(mean_train)\n",
    "        b_score.append(mean_test)\n",
    "    x=list(range(2,train.shape[1]+1))\n",
    "    plt.plot(x, a_score, marker='o', markersize=3)  # 绘制折线图，添加数据点，设置点的大小\n",
    "    plt.plot(x, b_score, marker='o', markersize=3)\n",
    "    plt.xticks(x)\n",
    "    plt.show()\n",
    "    return a_score,b_score"
   ],
   "id": "f2d467dacd539efe",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "a_score,b_score=select(train_data_1,target)",
   "id": "a176695436237aca",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "x=list(range(2,train_data_1.shape[1]+1))",
   "id": "a69748d21e41841d",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "plt.plot(x, a_score, marker='o', markersize=3)  # 绘制折线图，添加数据点，设置点的大小\n",
    "plt.plot(x, b_score, marker='o', markersize=3)\n",
    "plt.xticks(x)\n",
    "plt.show()"
   ],
   "id": "cd5ffd9862a18a2d",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "def select_fin(i,train_1,target_1):\n",
    "    sel = SelectKBest(mutual_info_classif, k=i)\n",
    "    sel = sel.fit(train_1, target_1)\n",
    "    train_sel = sel.transform(train_1)\n",
    "    test_sel = sel.transform(test_data_1)\n",
    "    return train_sel,test_sel"
   ],
   "id": "f0338e013bcba257",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "train_sel,test_sel=select_fin(4,train_data_1,target)",
   "id": "a4a88d72cdbb2e67",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "fpr_5,tpr_5,clf_5,auc_test_5=model(train_sel,target)#k=2 0.6419733",
   "id": "1d3d846eb1bfb624",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "fpr_6,tpr_6,clf_6,auc_test_6=model(train_sel,target)#k=3 0.6365505",
   "id": "317b5237e0c57191",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "fpr_7,tpr_7,clf_7,auc_test_7=model(train_sel,target)#k=4 0.6323718",
   "id": "36881f255aa4aa5c",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "a_score,b_score=select(X_smote,Y_smote)\n",
   "id": "43c267511c0be2e4",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "train_sel,test_sel=select_fin(9,X_smote,Y_smote)",
   "id": "27f089bed2e94240",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "fpr_8,tpr_8,clf_8,auc_test_8=model(train_sel,Y_smote)#k=9  0.5940987",
   "id": "d21e1fec392768b1",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "pred = clf_8.predict_proba(test_sel)\n",
    "pred_list=[]\n",
    "for i in range(len(pred)):\n",
    "    pred_list.append(pred[i][1])\n",
    "df_out = pd.DataFrame()\n",
    "df_out['user_id'] = test_data['user_id'].astype(int)\n",
    "df_out['merchant_id']=test_data['merchant_id'].astype(int)\n",
    "df_out['predict_prob'] = pred_list\n",
    "df_out.to_csv('prediction.csv',index=0)"
   ],
   "id": "1a18f548cb153236",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "源数据调参\n",
    "\n"
   ],
   "id": "632fbaaf7cab204e"
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "def tun_parameters(train_x,train_y):  #通过这个函数，确定树的个数\n",
    "    xgb1 = XGBClassifier(learning_rate=0.1,n_estimators=1000,max_depth=5,min_child_weight=1,gamma=0,subsample=0.8,  \n",
    "                         colsample_bytree=0.8,objective= 'binary:logistic',scale_pos_weight=1,seed=27)  \n",
    "    modelfit(xgb1,train_x,train_y)  \n",
    " \n"
   ],
   "id": "ac87ecc2b69c85d8",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "def modelfit(alg,X, y,useTrainCV=True, cv_folds=5, early_stopping_rounds=50):\n",
    "    if useTrainCV:\n",
    "        xgb_param = alg.get_xgb_params()#参数\n",
    "        xgtrain = xgb.DMatrix(X, label=y)#训练数据\n",
    "        cvresult = xgb.cv(xgb_param, xgtrain, num_boost_round=alg.get_params()['n_estimators'], \n",
    "                          nfold=cv_folds,metrics='auc', early_stopping_rounds=early_stopping_rounds)\n",
    "        #num_boost_round:树的个数 nfold 几折交叉验证 early_stopping_rounds 早停值\n",
    "        alg.set_params(n_estimators=cvresult.shape[0])\n",
    "        #输出树的个数\n",
    "    #Fit the algorithm on the data\n",
    "    alg.fit(X, y,eval_metric='auc')\n",
    " \n",
    "    #Predict training set:\n",
    "    dtrain_predictions = alg.predict(X)\n",
    "    dtrain_predprob = alg.predict_proba(X)[:,1]\n",
    " \n",
    "    #Print model report:\n",
    "    print (\"\\nModel Report\")\n",
    "    print (\"Accuracy : %.4g\" % metrics.accuracy_score(y, dtrain_predictions))\n",
    "    print (\"AUC Score (Train): %f\" % metrics.roc_auc_score(y, dtrain_predprob))\n",
    "\n",
    "    \n",
    "    feat_imp = pd.Series(alg.get_booster().get_fscore()).sort_values(ascending=False)\n",
    "    #bosster()改为get_bosster()\n",
    "    feat_imp.plot(kind='bar', title='Feature Importances')\n",
    "    plt.ylabel('Feature Importance Score')\n",
    "    plt.show()\n",
    "    print ('n_estimators=',cvresult.shape[0])"
   ],
   "id": "38eadaec4bfce236",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "tun_parameters(train_data_1,target)"
   ],
   "id": "b8d1ccfd5f2cee0",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "#树的最大深度 最小叶子节点样本权重\n",
    "param_test1 = {\n",
    "  'max_depth':range(3,10,1),\n",
    " 'min_child_weight':range(1,6,1)\n",
    "}\n",
    "gsearch1 = GridSearchCV(estimator = XGBClassifier(learning_rate =0.1, n_estimators=333, max_depth=5,\n",
    "min_child_weight=1, gamma=0, subsample=0.8,colsample_bytree=0.8,\\\n",
    " objective= 'binary:logistic', nthread=8,scale_pos_weight=1, seed=27), \n",
    " param_grid = param_test1,scoring='roc_auc',n_jobs=-1, cv=5)\n",
    "gsearch1.fit(train_data_1,target)\n",
    "gsearch1.cv_results_, gsearch1.best_params_, gsearch1.best_score_"
   ],
   "id": "1633cd7a9d4c6042",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "param_test3 = {  \n",
    "    'gamma': [i / 10.0 for i in range(0, 5)]  \n",
    "}  \n",
    "gsearch3 = GridSearchCV(  \n",
    "    estimator=XGBClassifier(learning_rate=0.1, n_estimators=333, max_depth=5, min_child_weight=2, gamma=0,  \n",
    "                            subsample=0.8, colsample_bytree=0.8, objective='binary:logistic', nthread=8,  \n",
    "                            scale_pos_weight=1, seed=27), param_grid=param_test3, scoring='roc_auc', n_jobs=-1,  \n",
    "     cv=5)  \n",
    "gsearch3.fit(train_data_1,target)  \n",
    "gsearch3.cv_results_, gsearch3.best_params_, gsearch3.best_score_"
   ],
   "id": "7544d331604f4928",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "param_test4 = {  \n",
    "    'subsample': [i / 10.0 for i in range(6, 10)],  \n",
    "    'colsample_bytree': [i / 10.0 for i in range(6, 10)]  \n",
    "}  \n",
    "  \n",
    "gsearch4 = GridSearchCV(  \n",
    "    estimator=XGBClassifier(learning_rate=0.1, n_estimators=333, max_depth=5, min_child_weight=2, gamma=0.0,  \n",
    "                            subsample=0.8, colsample_bytree=0.8, objective='binary:logistic', nthread=8,  \n",
    "                            scale_pos_weight=1, seed=27), param_grid=param_test4, scoring='roc_auc', n_jobs=-1,  \n",
    "     cv=5)  \n",
    "  \n",
    "gsearch4.fit(train_data_1,target)  \n",
    "gsearch4.cv_results_, gsearch4.best_params_, gsearch4.best_score_\n"
   ],
   "id": "59a549ac1825f31c",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "param_test6 = {  \n",
    " 'reg_alpha':[1e-5,1e-4,1e-3, 1e-2, 0.1, 1, 100]  \n",
    "}  \n",
    "gsearch6 = GridSearchCV(estimator = XGBClassifier( learning_rate =0.1, n_estimators=333, max_depth=5, min_child_weight=2, \n",
    "    gamma=0.0, subsample=0.9, colsample_bytree=0.7, objective= 'binary:logistic', nthread=8, \n",
    "    scale_pos_weight=1,seed=27), param_grid = param_test6, scoring='roc_auc',n_jobs=-1,cv=5)  \n",
    "gsearch6.fit(train_data_1,target)  \n",
    "gsearch6.cv_results_, gsearch6.best_params_, gsearch6.best_score_"
   ],
   "id": "a39b21c0ce24a69e",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_val, y_train, y_val = train_test_split(train_data_1,target, test_size = 0.2 ,random_state = 42)\n",
    "#0.6305415\n",
    "\n",
    "\n",
    "clf = XGBClassifier(\n",
    "    learning_rate =0.1,\n",
    "    n_estimators=333,max_depth=5, min_child_weight=2, \n",
    "    gamma=0.0, subsample=0.9, colsample_bytree=0.7, objective= 'binary:logistic', nthread=8, \n",
    "    scale_pos_weight=1,seed=27,reg_alpha=1\n",
    "                    )\n",
    "\n",
    "clf.fit(X_train, y_train)\n",
    "\n",
    "y_train_pred = clf.predict_proba(X_train)\n",
    "y_train_pred_pos = y_train_pred[:,1]\n",
    "\n",
    "y_val_pred = clf.predict_proba(X_val)\n",
    "y_val_pred_pos = y_val_pred[:,1]\n",
    "\n",
    "auc_train = roc_auc_score(y_train, y_train_pred_pos)\n",
    "auc_test = roc_auc_score(y_val, y_val_pred_pos)\n",
    "\n",
    "print(f\"Train AUC Score {auc_train}\")\n",
    "print(f\"Test AUC Score {auc_test}\")\n",
    "\n",
    "fpr, tpr, _ = roc_curve(y_val, y_val_pred_pos)"
   ],
   "id": "d653ba82fab5d879",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "pred = clf.predict_proba(test_data_1)\n",
    "pred_list=[]\n",
    "for i in range(len(pred)):\n",
    "    pred_list.append(pred[i][1])\n",
    "df_out = pd.DataFrame()\n",
    "df_out['user_id'] = test_data['user_id'].astype(int)\n",
    "df_out['merchant_id']=test_data['merchant_id'].astype(int)\n",
    "df_out['predict_prob'] = pred_list\n",
    "df_out.to_csv('prediction.csv',index=0)"
   ],
   "id": "7766f009c8d1d6ea",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": "特征选择后的模型调参",
   "id": "e18c91384015bb1f"
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "train_sel,test_sel=select_fin(2,train_data_1,target)#0.653329",
   "id": "1a3cd8dc17668be",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": "tun_parameters(train_sel,target)",
   "id": "df952614442944f2",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "#树的最大深度 最小叶子节点样本权重\n",
    "param_test1 = {\n",
    "  'max_depth':range(3,10,1),\n",
    " 'min_child_weight':range(1,6,1)\n",
    "}\n",
    "gsearch1 = GridSearchCV(estimator = XGBClassifier(learning_rate =0.1, n_estimators=1000, max_depth=5,\n",
    "min_child_weight=1, gamma=0, subsample=0.8,colsample_bytree=0.8,\\\n",
    " objective= 'binary:logistic', nthread=8,scale_pos_weight=1, seed=27), \n",
    " param_grid = param_test1,scoring='roc_auc',n_jobs=-1, cv=5)\n",
    "gsearch1.fit(train_sel,target)\n",
    "gsearch1.cv_results_, gsearch1.best_params_, gsearch1.best_score_"
   ],
   "id": "8d1a773372ff04fb",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "param_test3 = {  \n",
    "    'gamma': [i / 10.0 for i in range(0, 5)]  \n",
    "}  \n",
    "gsearch3 = GridSearchCV(  \n",
    "    estimator=XGBClassifier(learning_rate=0.1, n_estimators=2000, max_depth=8, min_child_weight=1, gamma=0,  \n",
    "                            subsample=0.8, colsample_bytree=0.8, objective='binary:logistic', nthread=8,  \n",
    "                            scale_pos_weight=1, seed=27), param_grid=param_test3, scoring='roc_auc', n_jobs=-1,  \n",
    "     cv=5)  \n",
    "gsearch3.fit(train_sel,target)  \n",
    "gsearch3.cv_results_, gsearch3.best_params_, gsearch3.best_score_"
   ],
   "id": "3fb34e60c6234072",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "\n",
    "param_test4 = {  \n",
    "    'subsample': [i / 10.0 for i in range(6, 10)],  \n",
    "    'colsample_bytree': [i / 10.0 for i in range(6, 10)]  \n",
    "}  \n",
    "  \n",
    "gsearch4 = GridSearchCV(  \n",
    "    estimator=XGBClassifier(learning_rate=0.1, n_estimators=2000, max_depth=8, min_child_weight=1, gamma=0.2,  \n",
    "                            subsample=0.8, colsample_bytree=0.8, objective='binary:logistic', nthread=8,  \n",
    "                            scale_pos_weight=1, seed=27), param_grid=param_test4, scoring='roc_auc', n_jobs=-1,  \n",
    "     cv=5)  \n",
    "  \n",
    "gsearch4.fit(train_sel,target)  \n",
    "gsearch4.cv_results_, gsearch4.best_params_, gsearch4.best_score_"
   ],
   "id": "b999ea9debc534e7",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "param_test6 = {  \n",
    " 'reg_alpha':[1e-5,1e-4,1e-3, 1e-2, 0.1, 1, 100]  \n",
    "}  \n",
    "gsearch6 = GridSearchCV(estimator = XGBClassifier( learning_rate =0.1, n_estimators=2000, max_depth=8, min_child_weight=1, \n",
    "    gamma=0.2, subsample=0.9, colsample_bytree=0.6, objective= 'binary:logistic', nthread=8, \n",
    "    scale_pos_weight=1,seed=27), param_grid = param_test6, scoring='roc_auc',n_jobs=-1,cv=5)  \n",
    "gsearch6.fit(train_sel,target)  \n",
    "gsearch6.cv_results_, gsearch6.best_params_, gsearch6.best_score_"
   ],
   "id": "51138213bc1cb129",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "X_train, X_val, y_train, y_val = train_test_split(train_sel,target, test_size = 0.2 ,random_state = 42)\n",
    "#0.65\n",
    "\n",
    "\n",
    "clf = XGBClassifier(\n",
    "    learning_rate =0.1,\n",
    "    n_estimators=2000,max_depth=8, min_child_weight=1, \n",
    "    gamma=0.2, subsample=0.9, colsample_bytree=0.6, objective= 'binary:logistic', nthread=8, \n",
    "    scale_pos_weight=1,seed=27,reg_alpha=0.01\n",
    "                    )\n",
    "\n",
    "clf.fit(X_train, y_train)\n",
    "\n",
    "y_train_pred = clf.predict_proba(X_train)\n",
    "y_train_pred_pos = y_train_pred[:,1]\n",
    "\n",
    "y_val_pred = clf.predict_proba(X_val)\n",
    "y_val_pred_pos = y_val_pred[:,1]\n",
    "\n",
    "auc_train = roc_auc_score(y_train, y_train_pred_pos)\n",
    "auc_test = roc_auc_score(y_val, y_val_pred_pos)\n",
    "\n",
    "print(f\"Train AUC Score {auc_train}\")\n",
    "print(f\"Test AUC Score {auc_test}\")\n",
    "\n",
    "fpr, tpr, _ = roc_curve(y_val, y_val_pred_pos)\n"
   ],
   "id": "42b66b37044ae68f",
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {
    "jupyter": {
     "is_executing": true
    }
   },
   "cell_type": "code",
   "source": [
    "pred = clf.predict_proba(test_sel)\n",
    "pred_list=[]\n",
    "for i in range(len(pred)):\n",
    "    pred_list.append(pred[i][1])\n",
    "df_out = pd.DataFrame()\n",
    "df_out['user_id'] = test_data['user_id'].astype(int)\n",
    "df_out['merchant_id']=test_data['merchant_id'].astype(int)\n",
    "df_out['predict_prob'] = pred_list\n",
    "df_out.to_csv('prediction.csv',index=0)"
   ],
   "id": "19ae1500cdde8e11",
   "outputs": [],
   "execution_count": null
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
